diff --git a/webapp/tests/formatting_hashtags.test.jsx b/webapp/tests/formatting_hashtags.test.jsx index 1c7de15418..657dcf69de 100644 --- a/webapp/tests/formatting_hashtags.test.jsx +++ b/webapp/tests/formatting_hashtags.test.jsx @@ -154,4 +154,49 @@ describe('TextFormatting.Hashtags', function() { done(); }); + + it('Potential hashtags with other entities nested', function(done) { + assert.equal( + TextFormatting.formatText('#@test').trim(), + '

#@test

' + ); + + let options = { + usernameMap: { + test: {id: '1234', username: 'test'} + } + }; + assert.equal( + TextFormatting.formatText('#@test', options).trim(), + "

#@test

" + ); + + assert.equal( + TextFormatting.formatText('#~test').trim(), + '

#~test

' + ); + + options = { + channelNamesMap: { + test: {id: '1234', name: 'test', display_name: 'Test Channel'} + }, + team: {id: 'abcd', name: 'abcd', display_name: 'Alphabet'} + }; + assert.equal( + TextFormatting.formatText('#~test', options).trim(), + '

#~test

' + ); + + assert.equal( + TextFormatting.formatText('#:taco:').trim(), + '

#

' + ); + + assert.equal( + TextFormatting.formatText('#test@example.com').trim(), + "

#test@example.com

" + ); + + done(); + }); });