diff options
author | Kushal Pandya <kushalspandya@gmail.com> | 2017-05-11 09:05:07 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2017-05-11 09:05:07 +0000 |
commit | 5c25629a1427fd9a2e571bcde070f9aead2efd91 (patch) | |
tree | 91e839eace96b24f6e612a1ae3deec2e92639fac /spec/javascripts | |
parent | 344fee5a9a77a953b2350069008e7ae70c88f303 (diff) | |
download | gitlab-ce-5c25629a1427fd9a2e571bcde070f9aead2efd91.tar.gz |
Fix slash commands detection in comments
Diffstat (limited to 'spec/javascripts')
-rw-r--r-- | spec/javascripts/notes_spec.js | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index cfd599f793e..be4605a5b89 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -376,13 +376,20 @@ import '~/notes'; this.notes = new Notes('', []); }); - it('should return true when comment has slash commands', () => { - const sampleComment = '/wip /milestone %1.0 /merge /unassign Merging this'; + it('should return true when comment begins with a slash command', () => { + const sampleComment = '/wip \n/milestone %1.0 \n/merge \n/unassign Merging this'; const hasSlashCommands = this.notes.hasSlashCommands(sampleComment); expect(hasSlashCommands).toBeTruthy(); }); + it('should return false when comment does NOT begin with a slash command', () => { + const sampleComment = 'Hey, /unassign Merging this'; + const hasSlashCommands = this.notes.hasSlashCommands(sampleComment); + + expect(hasSlashCommands).toBeFalsy(); + }); + it('should return false when comment does NOT have any slash commands', () => { const sampleComment = 'Looking good, Awesome!'; const hasSlashCommands = this.notes.hasSlashCommands(sampleComment); @@ -392,14 +399,20 @@ import '~/notes'; }); describe('stripSlashCommands', () => { - const REGEX_SLASH_COMMANDS = /\/\w+/g; + it('should strip slash commands from the comment which begins with a slash command', () => { + this.notes = new Notes(); + const sampleComment = '/wip \n/milestone %1.0 \n/merge \n/unassign Merging this'; + const stripedComment = this.notes.stripSlashCommands(sampleComment); + + expect(stripedComment).not.toBe(sampleComment); + }); - it('should strip slash commands from the comment', () => { + it('should NOT strip string that has slashes within', () => { this.notes = new Notes(); - const sampleComment = '/wip /milestone %1.0 /merge /unassign Merging this'; + const sampleComment = 'http://127.0.0.1:3000/root/gitlab-shell/issues/1'; const stripedComment = this.notes.stripSlashCommands(sampleComment); - expect(REGEX_SLASH_COMMANDS.test(stripedComment)).toBeFalsy(); + expect(stripedComment).toBe(sampleComment); }); }); |