Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-08-10 15:12:09 +0300
committerRémy Coutable <remy@rymai.me>2016-08-13 01:06:12 +0300
commit23db6449542498636c145e83c71a4a466eb62746 (patch)
tree34619a5bccfe7864c29abfefc61268b5da86d35a /spec
parente021604454f1093b7d762b28eae36e30083f0053 (diff)
Add support for no-op slash commands that appear in autocomplete
The first one is /cc Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/gitlab/slash_commands/dsl_spec.rb16
-rw-r--r--spec/lib/gitlab/slash_commands/extractor_spec.rb4
-rw-r--r--spec/support/issuable_slash_commands_shared_examples.rb5
3 files changed, 15 insertions, 10 deletions
diff --git a/spec/lib/gitlab/slash_commands/dsl_spec.rb b/spec/lib/gitlab/slash_commands/dsl_spec.rb
index f8abb35674d..39e1996c891 100644
--- a/spec/lib/gitlab/slash_commands/dsl_spec.rb
+++ b/spec/lib/gitlab/slash_commands/dsl_spec.rb
@@ -29,6 +29,11 @@ describe Gitlab::SlashCommands::Dsl do
command :wildcard do |*args|
args
end
+
+ noop true
+ command :cc do |*args|
+ args
+ end
end
end
let(:dummy) { DummyClass.new }
@@ -36,11 +41,12 @@ describe Gitlab::SlashCommands::Dsl do
describe '.command_definitions' do
it 'returns an array with commands definitions' do
expected = [
- { name: :no_args, aliases: [:none], description: 'A command with no args', params: [] },
- { name: :returning, aliases: [], description: 'A command returning a value', params: [] },
- { name: :one_arg, aliases: [:once, :first], description: '', params: ['The first argument'] },
- { name: :two_args, aliases: [], description: 'A command with two args', params: ['The first argument', 'The second argument'] },
- { name: :wildcard, aliases: [], description: '', params: [] }
+ { name: :no_args, aliases: [:none], description: 'A command with no args', params: [], noop: false },
+ { name: :returning, aliases: [], description: 'A command returning a value', params: [], noop: false },
+ { name: :one_arg, aliases: [:once, :first], description: '', params: ['The first argument'], noop: false },
+ { name: :two_args, aliases: [], description: 'A command with two args', params: ['The first argument', 'The second argument'], noop: false },
+ { name: :wildcard, aliases: [], description: '', params: [], noop: false },
+ { name: :cc, aliases: [], description: '', params: [], noop: true }
]
expect(DummyClass.command_definitions).to eq expected
diff --git a/spec/lib/gitlab/slash_commands/extractor_spec.rb b/spec/lib/gitlab/slash_commands/extractor_spec.rb
index 11836b10204..ac7296bdba1 100644
--- a/spec/lib/gitlab/slash_commands/extractor_spec.rb
+++ b/spec/lib/gitlab/slash_commands/extractor_spec.rb
@@ -175,7 +175,7 @@ describe Gitlab::SlashCommands::Extractor do
end
it 'does not extract commands inside a blockcode' do
- msg = msg = "Hello\r\n```\r\nThis is some text\r\n/close\r\n/assign @user\r\n```\r\n\r\nWorld"
+ msg = "Hello\r\n```\r\nThis is some text\r\n/close\r\n/assign @user\r\n```\r\n\r\nWorld"
expected = msg.delete("\r")
commands = extractor.extract_commands!(msg)
@@ -193,7 +193,7 @@ describe Gitlab::SlashCommands::Extractor do
end
it 'does not extract commands inside a HTML tag' do
- msg = msg = "Hello\r\n<div>\r\nThis is some text\r\n/close\r\n/assign @user\r\n</div>\r\n\r\nWorld"
+ msg = "Hello\r\n<div>\r\nThis is some text\r\n/close\r\n/assign @user\r\n</div>\r\n\r\nWorld"
expected = msg.delete("\r")
commands = extractor.extract_commands!(msg)
diff --git a/spec/support/issuable_slash_commands_shared_examples.rb b/spec/support/issuable_slash_commands_shared_examples.rb
index 4f2e7c3bee8..e1255bd248d 100644
--- a/spec/support/issuable_slash_commands_shared_examples.rb
+++ b/spec/support/issuable_slash_commands_shared_examples.rb
@@ -28,7 +28,7 @@ shared_examples 'issuable record that supports slash commands in its description
issuable = project.public_send(issuable_type.to_s.pluralize).first
- expect(issuable.description).to eq "bug description\r\n"
+ expect(issuable.description).to eq "bug description\n"
expect(issuable.labels).to eq [label_bug]
expect(issuable.milestone).to eq milestone
expect(page).to have_content 'bug 345'
@@ -57,7 +57,7 @@ shared_examples 'issuable record that supports slash commands in its description
issuable.reload
note = issuable.notes.user.first
- expect(note.note).to eq "Awesome!\r\n"
+ expect(note.note).to eq "Awesome!\n"
expect(issuable.assignee).to eq assignee
expect(issuable.labels).to eq [label_bug]
expect(issuable.milestone).to eq milestone
@@ -189,7 +189,6 @@ shared_examples 'issuable record that supports slash commands in its description
end
it "does not reopen the #{issuable_type}" do
- current_title = issuable.title
page.within('.js-main-target-form') do
fill_in 'note[note]', with: "/title Awesome new title"
click_button 'Comment'