diff options
Diffstat (limited to 'webapp/tests/emoticons.test.jsx')
-rw-r--r-- | webapp/tests/emoticons.test.jsx | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/webapp/tests/emoticons.test.jsx b/webapp/tests/emoticons.test.jsx new file mode 100644 index 000000000..bb0421651 --- /dev/null +++ b/webapp/tests/emoticons.test.jsx @@ -0,0 +1,44 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import assert from 'assert'; + +import * as Emoticons from 'utils/emoticons.jsx'; + +describe('Emoticons', function() { + this.timeout(100000); + + it('handleEmoticons', function(done) { + assert.equal( + Emoticons.handleEmoticons(':goat: :dash:', new Map()), + 'MM_EMOTICON0 MM_EMOTICON1', + 'should replace emoticons with tokens' + ); + + assert.equal( + Emoticons.handleEmoticons(':goat::dash:', new Map()), + 'MM_EMOTICON0MM_EMOTICON1', + 'should replace emoticons not separated by whitespace' + ); + + assert.equal( + Emoticons.handleEmoticons('/:goat:..:dash:)', new Map()), + '/MM_EMOTICON0..MM_EMOTICON1)', + 'should replace emoticons separated by punctuation' + ); + + assert.equal( + Emoticons.handleEmoticons('asdf:goat:asdf:dash:asdf', new Map()), + 'asdfMM_EMOTICON0asdfMM_EMOTICON1asdf', + 'should replace emoticons separated by text' + ); + + assert.equal( + Emoticons.handleEmoticons(':asdf: :goat : : dash:', new Map()), + ':asdf: :goat : : dash:', + 'shouldn\'t replace invalid emoticons' + ); + + done(); + }); +});
\ No newline at end of file |