From 68ea0abfa665144164041c9421899bfc21412f8a Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Tue, 20 Jun 2017 15:22:46 -0400 Subject: PLT-4457 Added AtMention component to better render at mentions (#6563) * Moved Utils.searchForTerm into an action * Added easier importing of index.jsx files * PLT-4457 Added AtMention component to better render at mentions * Fixed client unit tests * Fixed merge conflict * Fixed merge conflicts --- webapp/tests/utils/formatting_at_mentions.test.jsx | 51 +++++++--------------- webapp/tests/utils/formatting_hashtags.test.jsx | 6 +-- 2 files changed, 17 insertions(+), 40 deletions(-) (limited to 'webapp/tests/utils') diff --git a/webapp/tests/utils/formatting_at_mentions.test.jsx b/webapp/tests/utils/formatting_at_mentions.test.jsx index d64b42c3f..e9147b565 100644 --- a/webapp/tests/utils/formatting_at_mentions.test.jsx +++ b/webapp/tests/utils/formatting_at_mentions.test.jsx @@ -8,71 +8,50 @@ import * as TextFormatting from 'utils/text_formatting.jsx'; describe('TextFormatting.AtMentions', function() { it('At mentions', function() { assert.equal( - TextFormatting.autolinkAtMentions('@user', new Map(), {user: {}}), + TextFormatting.autolinkAtMentions('@user', new Map()), '$MM_ATMENTION0', - 'should replace explicit mention with token' + 'should replace mention with token' ); assert.equal( - TextFormatting.autolinkAtMentions('abc"@user"def', new Map(), {user: {}}), + TextFormatting.autolinkAtMentions('abc"@user"def', new Map()), 'abc"$MM_ATMENTION0"def', - 'should replace explicit mention surrounded by punctuation with token' + 'should replace mention surrounded by punctuation with token' ); assert.equal( - TextFormatting.autolinkAtMentions('@user1 @user2', new Map(), {user1: {}, user2: {}}), + TextFormatting.autolinkAtMentions('@user1 @user2', new Map()), '$MM_ATMENTION0 $MM_ATMENTION1', - 'should replace multiple explicit mentions with tokens' + 'should replace multiple mentions with tokens' ); assert.equal( - TextFormatting.autolinkAtMentions('@us_-e.r', new Map(), {'us_-e.r': {}}), - '$MM_ATMENTION0', - 'should replace multiple explicit mentions containing punctuation with token' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('@us_-e.r', new Map(), {'us_-e.r': {}}), - '$MM_ATMENTION0', - 'should replace multiple explicit mentions containing valid punctuation with token' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('@user.', new Map(), {user: {}}), - '$MM_ATMENTION0.', - 'should replace explicit mention followed by period with token' + TextFormatting.autolinkAtMentions('@user1/@user2/@user3', new Map()), + '$MM_ATMENTION0/$MM_ATMENTION1/$MM_ATMENTION2', + 'should replace multiple mentions with tokens' ); assert.equal( - TextFormatting.autolinkAtMentions('@user.', new Map(), {'user.': {}}), + TextFormatting.autolinkAtMentions('@us_-e.r', new Map()), '$MM_ATMENTION0', - 'should replace explicit mention ending with period with token' + 'should replace multiple mentions containing punctuation with token' ); - }); - it('Implied at mentions', function() { - // PLT-4454 Assume users exist for things that look like at mentions until we support the new mention syntax assert.equal( - TextFormatting.autolinkAtMentions('@user', new Map(), {}), + TextFormatting.autolinkAtMentions('@user.', new Map()), '$MM_ATMENTION0', - 'should imply user exists and replace mention with token' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('@user.', new Map(), {}), - '$MM_ATMENTION0.', - 'should assume username doesn\'t end in punctuation' + 'should capture trailing punctuation as part of mention' ); }); it('Not at mentions', function() { assert.equal( - TextFormatting.autolinkAtMentions('user@host', new Map(), {user: {}, host: {}}), + TextFormatting.autolinkAtMentions('user@host', new Map()), 'user@host' ); assert.equal( - TextFormatting.autolinkAtMentions('user@email.com', new Map(), {user: {}, email: {}}), + TextFormatting.autolinkAtMentions('user@email.com', new Map()), 'user@email.com' ); }); diff --git a/webapp/tests/utils/formatting_hashtags.test.jsx b/webapp/tests/utils/formatting_hashtags.test.jsx index 1740a8ce7..917f0135a 100644 --- a/webapp/tests/utils/formatting_hashtags.test.jsx +++ b/webapp/tests/utils/formatting_hashtags.test.jsx @@ -160,13 +160,11 @@ describe('TextFormatting.Hashtags', function() { ); let options = { - usernameMap: { - test: {id: '1234', username: 'test'} - } + atMentions: true }; assert.equal( TextFormatting.formatText('#@test', options).trim(), - "

#@test

" + '

#@test

' ); assert.equal( -- cgit v1.2.3-1-g7c22