diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:04:13 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:11:58 -0700 |
commit | d8bd57901e33a7057e26e782e295099ffcc0da89 (patch) | |
tree | e12dfc8cad42b1576756d19d7fbfd82646a009bf /webapp/tests/utils | |
parent | 7bc8e9a08dfde56387f946fdf5086252aa4d0491 (diff) | |
download | chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.gz chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.bz2 chat-d8bd57901e33a7057e26e782e295099ffcc0da89.zip |
Removing webapp
Diffstat (limited to 'webapp/tests/utils')
-rw-r--r-- | webapp/tests/utils/channel_utils.test.jsx | 782 | ||||
-rw-r--r-- | webapp/tests/utils/emoticons.test.jsx | 36 | ||||
-rw-r--r-- | webapp/tests/utils/formatting_at_mentions.test.jsx | 58 | ||||
-rw-r--r-- | webapp/tests/utils/formatting_channel_links.test.jsx | 49 | ||||
-rw-r--r-- | webapp/tests/utils/formatting_hashtags.test.jsx | 198 | ||||
-rw-r--r-- | webapp/tests/utils/formatting_imgs.test.jsx | 53 | ||||
-rw-r--r-- | webapp/tests/utils/formatting_links.test.jsx | 516 | ||||
-rw-r--r-- | webapp/tests/utils/latinise.test.jsx | 23 | ||||
-rw-r--r-- | webapp/tests/utils/post_utils.test.jsx | 147 | ||||
-rw-r--r-- | webapp/tests/utils/utils_get_nearest_point.test.jsx | 31 |
10 files changed, 0 insertions, 1893 deletions
diff --git a/webapp/tests/utils/channel_utils.test.jsx b/webapp/tests/utils/channel_utils.test.jsx deleted file mode 100644 index 74a9339e2..000000000 --- a/webapp/tests/utils/channel_utils.test.jsx +++ /dev/null @@ -1,782 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import * as Utils from 'utils/channel_utils.jsx'; -import Constants from 'utils/constants.jsx'; - -describe('Channel Utils', () => { - describe('showDeleteOption', () => { - test('all users can delete channels on unlicensed instances', () => { - global.window.mm_license = {IsLicensed: 'false'}; - expect(Utils.showDeleteOptionForCurrentUser(null, true, true, true)). - toEqual(true); - }); - - test('users cannot delete default channels', () => { - global.window.mm_license = {IsLicensed: 'true'}; - const channel = {name: Constants.DEFAULT_CHANNEL}; - expect(Utils.showDeleteOptionForCurrentUser(channel, true, true, true)). - toEqual(false); - }); - - test('system admins can delete private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, true)). - toEqual(true); - }); - - test('system admins can delete private channels, user is not system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(false); - }); - - test('system admins can delete public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, true)). - toEqual(true); - }); - - test('system admins can delete public channels, user is not system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can delete private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, true)). - toEqual(true); - }); - - test('system admins or team admins can delete private channels, user is not system admin or team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can delete public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, true)). - toEqual(true); - }); - - test('system admins or team admins can delete public channels, user is not system admin or team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can delete private channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, true, false)). - toEqual(true); - }); - - test('system admins or team admins can delete public channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can delete public channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, true, false, false)). - toEqual(true); - }); - - test('channel, team, and system admins can delete private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, true, false, false)). - toEqual(true); - }); - - test('channel, team, and system admins can delete public channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can delete private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can delete public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, true)). - toEqual(true); - }); - - test('channel, team, and system admins can delete private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, true)). - toEqual(true); - }); - - test('channel, team, and system admins can delete public channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(false); - }); - - test('channel, team, and system admins can delete private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(false); - }); - - test('any member can delete public channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelDeletion: Constants.PERMISSIONS_ALL}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(true); - }); - - test('any member can delete private channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelDeletion: Constants.PERMISSIONS_ALL}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showDeleteOptionForCurrentUser(channel, false, false, false)). - toEqual(true); - }); - }); - - describe('showManagementOptions', () => { - test('all users can manage channel options on unlicensed instances', () => { - global.window.mm_license = {IsLicensed: 'false'}; - expect(Utils.showManagementOptions(null, true, true, true)). - toEqual(true); - }); - - test('system admins can manage channel options in private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, true)). - toEqual(true); - }); - - test('system admins can manage channel options in private channels, user is not system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(false); - }); - - test('system admins can manage channel options in public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, true)). - toEqual(true); - }); - - test('system admins can manage channel options in public channels, user is not system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can manage channel options in private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, true)). - toEqual(true); - }); - - test('system admins or team admins can manage channel options in private channels, user is not system admin or team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can manage channel options in public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, true)). - toEqual(true); - }); - - test('system admins or team admins can manage channel options in public channels, user is not system admin or team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can manage channel options in private channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, true, false)). - toEqual(true); - }); - - test('system admins or team admins can manage channel options in public channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel options in public channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, true, false, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel options in private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, true, false, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel options in public channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel options in private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel options in public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, true)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel options in private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, true)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel options in public channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(false); - }); - - test('channel, team, and system admins can manage channel options in private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(false); - }); - - test('any member can manage channel options in public channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelManagement: Constants.PERMISSIONS_ALL}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(true); - }); - - test('any member can manage channel options in private channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManagement: Constants.PERMISSIONS_ALL}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.showManagementOptions(channel, false, false, false)). - toEqual(true); - }); - }); - - describe('showCreateOption', () => { - test('all users can create new channels on unlicensed instances', () => { - global.window.mm_license = {IsLicensed: 'false'}; - expect(Utils.showCreateOption(null, true, true)). - toEqual(true); - }); - - test('system admins can create new private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, false, true)). - toEqual(true); - }); - - test('system admins can create new private channels, user is not system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, false, false)). - toEqual(false); - }); - - test('system admins can create new public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, false, true)). - toEqual(true); - }); - - test('system admins can create new public channels, user is not system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, false, false)). - toEqual(false); - }); - - test('system admins or team admins can create new private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_TEAM_ADMIN}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, false, true)). - toEqual(true); - }); - - test('system admins or team admins can create new private channels, user is not system admin or team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_TEAM_ADMIN}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, false, false)). - toEqual(false); - }); - - test('system admins or team admins can create new public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_TEAM_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, false, true)). - toEqual(true); - }); - - test('system admins or team admins can create new public channels, user is not system admin or team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_TEAM_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, false, false)). - toEqual(false); - }); - - test('system admins or team admins can create new private channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_TEAM_ADMIN}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, true, false)). - toEqual(true); - }); - - test('system admins or team admins can create new public channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_TEAM_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can create new public channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, false, false)). - toEqual(true); - }); - - test('channel, team, and system admins can create new public channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can create new private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can create new public channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, false, true)). - toEqual(true); - }); - - test('channel, team, and system admins can create new private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, false, true)). - toEqual(true); - }); - - test('any member can create new public channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPublicChannelCreation: Constants.PERMISSIONS_ALL}; - - expect(Utils.showCreateOption(Constants.OPEN_CHANNEL, false, false)). - toEqual(true); - }); - - test('any member can create new private channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelCreation: Constants.PERMISSIONS_ALL}; - - expect(Utils.showCreateOption(Constants.PRIVATE_CHANNEL, false, false)). - toEqual(true); - }); - }); - - describe('canManageMembers', () => { - test('all users can manage channel members on unlicensed instances', () => { - global.window.mm_license = {IsLicensed: 'false'}; - expect(Utils.canManageMembers(null, true, true, true)). - toEqual(true); - }); - - test('system admins can manage channel members in private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, false, true)). - toEqual(true); - }); - - test('system admins can manage channel members in private channels, user is not system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_SYSTEM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can manage channel members in private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, false, true)). - toEqual(true); - }); - - test('system admins or team admins can manage channel members in private channels, user is not system admin or team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, false, false)). - toEqual(false); - }); - - test('system admins or team admins can manage channel members in private channels, user is team admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_TEAM_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel members in private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, true, false, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel members in private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, true, false)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel members in private channels, user is system admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, false, true)). - toEqual(true); - }); - - test('channel, team, and system admins can manage channel members in private channels, user is channel admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_CHANNEL_ADMIN}; - - const channel = { - name: 'fakeChannelName', - type: Constants.PRIVATE_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, false, false)). - toEqual(false); - }); - - test('any member can manage channel members in public channels, user is not admin test', () => { - global.window.mm_license = {IsLicensed: 'true'}; - global.window.mm_config = {RestrictPrivateChannelManageMembers: Constants.PERMISSIONS_ALL}; - - const channel = { - name: 'fakeChannelName', - type: Constants.OPEN_CHANNEL - }; - expect(Utils.canManageMembers(channel, false, false, false)). - toEqual(true); - }); - }); -});
\ No newline at end of file diff --git a/webapp/tests/utils/emoticons.test.jsx b/webapp/tests/utils/emoticons.test.jsx deleted file mode 100644 index 28829428b..000000000 --- a/webapp/tests/utils/emoticons.test.jsx +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import EmojiStore from 'stores/emoji_store.jsx'; -import * as Emoticons from 'utils/emoticons.jsx'; - -describe('Emoticons', () => { - describe('handleEmoticons', () => { - const emojis = EmojiStore.getEmojis(); - - test('should replace emoticons with tokens', () => { - expect(Emoticons.handleEmoticons(':goat: :dash:', new Map(), emojis)). - toEqual('$MM_EMOTICON0 $MM_EMOTICON1'); - }); - - test('should replace emoticons not separated by whitespace', () => { - expect(Emoticons.handleEmoticons(':goat::dash:', new Map(), emojis)). - toEqual('$MM_EMOTICON0$MM_EMOTICON1'); - }); - - test('should replace emoticons separated by punctuation', () => { - expect(Emoticons.handleEmoticons('/:goat:..:dash:)', new Map(), emojis)). - toEqual('/$MM_EMOTICON0..$MM_EMOTICON1)'); - }); - - test('should replace emoticons separated by text', () => { - expect(Emoticons.handleEmoticons('asdf:goat:asdf:dash:asdf', new Map(), emojis)). - toEqual('asdf$MM_EMOTICON0asdf$MM_EMOTICON1asdf'); - }); - - test('shouldn\'t replace invalid emoticons', () => { - expect(Emoticons.handleEmoticons(':asdf: :goat : : dash:', new Map(), emojis)). - toEqual(':asdf: :goat : : dash:'); - }); - }); -}); diff --git a/webapp/tests/utils/formatting_at_mentions.test.jsx b/webapp/tests/utils/formatting_at_mentions.test.jsx deleted file mode 100644 index e9147b565..000000000 --- a/webapp/tests/utils/formatting_at_mentions.test.jsx +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import assert from 'assert'; - -import * as TextFormatting from 'utils/text_formatting.jsx'; - -describe('TextFormatting.AtMentions', function() { - it('At mentions', function() { - assert.equal( - TextFormatting.autolinkAtMentions('@user', new Map()), - '$MM_ATMENTION0', - 'should replace mention with token' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('abc"@user"def', new Map()), - 'abc"$MM_ATMENTION0"def', - 'should replace mention surrounded by punctuation with token' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('@user1 @user2', new Map()), - '$MM_ATMENTION0 $MM_ATMENTION1', - 'should replace multiple mentions with tokens' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('@user1/@user2/@user3', new Map()), - '$MM_ATMENTION0/$MM_ATMENTION1/$MM_ATMENTION2', - 'should replace multiple mentions with tokens' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('@us_-e.r', new Map()), - '$MM_ATMENTION0', - 'should replace multiple mentions containing punctuation with token' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('@user.', new Map()), - '$MM_ATMENTION0', - 'should capture trailing punctuation as part of mention' - ); - }); - - it('Not at mentions', function() { - assert.equal( - TextFormatting.autolinkAtMentions('user@host', new Map()), - 'user@host' - ); - - assert.equal( - TextFormatting.autolinkAtMentions('user@email.com', new Map()), - 'user@email.com' - ); - }); -}); diff --git a/webapp/tests/utils/formatting_channel_links.test.jsx b/webapp/tests/utils/formatting_channel_links.test.jsx deleted file mode 100644 index 39dddf008..000000000 --- a/webapp/tests/utils/formatting_channel_links.test.jsx +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import assert from 'assert'; - -import * as TextFormatting from 'utils/text_formatting.jsx'; - -describe('TextFormatting.ChannelLinks', () => { - it('Not channel links', (done) => { - assert.equal( - TextFormatting.formatText('~123').trim(), - '<p>~123</p>' - ); - - assert.equal( - TextFormatting.formatText('~town-square').trim(), - '<p>~town-square</p>' - ); - - done(); - }); - - it('Channel links', (done) => { - assert.equal( - TextFormatting.formatText('~town-square', { - channelNamesMap: {'town-square': {display_name: 'Town Square'}}, - team: {name: 'myteam'} - }).trim(), - '<p><a class="mention-link" href="/myteam/channels/town-square" data-channel-mention="town-square">~Town Square</a></p>' - ); - assert.equal( - TextFormatting.formatText('~town-square.', { - channelNamesMap: {'town-square': {display_name: 'Town Square'}}, - team: {name: 'myteam'} - }).trim(), - '<p><a class="mention-link" href="/myteam/channels/town-square" data-channel-mention="town-square">~Town Square</a>.</p>' - ); - - assert.equal( - TextFormatting.formatText('~town-square', { - channelNamesMap: {'town-square': {display_name: '<b>Reception</b>'}}, - team: {name: 'myteam'} - }).trim(), - '<p><a class="mention-link" href="/myteam/channels/town-square" data-channel-mention="town-square">~<b>Reception</b></a></p>' - ); - - done(); - }); -}); diff --git a/webapp/tests/utils/formatting_hashtags.test.jsx b/webapp/tests/utils/formatting_hashtags.test.jsx deleted file mode 100644 index ee18a7769..000000000 --- a/webapp/tests/utils/formatting_hashtags.test.jsx +++ /dev/null @@ -1,198 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import assert from 'assert'; - -import * as TextFormatting from 'utils/text_formatting.jsx'; - -describe('TextFormatting.Hashtags', function() { - it('Not hashtags', function(done) { - assert.equal( - TextFormatting.formatText('# hashtag').trim(), - '<h1 class="markdown__heading">hashtag</h1>' - ); - - assert.equal( - TextFormatting.formatText('#ab').trim(), - '<p>#ab</p>' - ); - - assert.equal( - TextFormatting.formatText('#123test').trim(), - '<p>#123test</p>' - ); - - done(); - }); - - it('Hashtags', function(done) { - assert.equal( - TextFormatting.formatText('#test').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test'>#test</a></p>" - ); - - assert.equal( - TextFormatting.formatText('#test123').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test123'>#test123</a></p>" - ); - - assert.equal( - TextFormatting.formatText('#test-test').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test-test'>#test-test</a></p>" - ); - - assert.equal( - TextFormatting.formatText('#test_test').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test_test'>#test_test</a></p>" - ); - - assert.equal( - TextFormatting.formatText('#test.test').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test.test'>#test.test</a></p>" - ); - - assert.equal( - TextFormatting.formatText('#test1/#test2').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test1'>#test1</a>/<a class='mention-link' href='#' data-hashtag='#test2'>#test2</a></p>" - ); - - assert.equal( - TextFormatting.formatText('(#test)').trim(), - "<p>(<a class='mention-link' href='#' data-hashtag='#test'>#test</a>)</p>" - ); - - assert.equal( - TextFormatting.formatText('#test-').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test'>#test</a>-</p>" - ); - - assert.equal( - TextFormatting.formatText('#test.').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test'>#test</a>.</p>" - ); - - assert.equal( - TextFormatting.formatText('This is a sentence #test containing a hashtag').trim(), - "<p>This is a sentence <a class='mention-link' href='#' data-hashtag='#test'>#test</a> containing a hashtag</p>" - ); - - done(); - }); - - it('Formatted hashtags', function(done) { - assert.equal( - TextFormatting.formatText('*#test*').trim(), - "<p><em><a class='mention-link' href='#' data-hashtag='#test'>#test</a></em></p>" - ); - - assert.equal( - TextFormatting.formatText('_#test_').trim(), - "<p><em><a class='mention-link' href='#' data-hashtag='#test'>#test</a></em></p>" - ); - - assert.equal( - TextFormatting.formatText('**#test**').trim(), - "<p><strong><a class='mention-link' href='#' data-hashtag='#test'>#test</a></strong></p>" - ); - - assert.equal( - TextFormatting.formatText('__#test__').trim(), - "<p><strong><a class='mention-link' href='#' data-hashtag='#test'>#test</a></strong></p>" - ); - - assert.equal( - TextFormatting.formatText('~~#test~~').trim(), - "<p><del><a class='mention-link' href='#' data-hashtag='#test'>#test</a></del></p>" - ); - - assert.equal( - TextFormatting.formatText('`#test`').trim(), - '<p>' + - '<span class="codespan__pre-wrap">' + - '<code>' + - '#test' + - '</code>' + - '</span>' + - '</p>' - ); - - assert.equal( - TextFormatting.formatText('[this is a link #test](example.com)').trim(), - '<p><a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">this is a link #test</a></p>' - ); - - done(); - }); - - it('Searching for hashtags', function(done) { - assert.equal( - TextFormatting.formatText('#test', {searchTerm: 'test'}).trim(), - "<p><span class='search-highlight'><a class='mention-link' href='#' data-hashtag='#test'>#test</a></span></p>" - ); - - assert.equal( - TextFormatting.formatText('#test', {searchTerm: '#test'}).trim(), - "<p><span class='search-highlight'><a class='mention-link' href='#' data-hashtag='#test'>#test</a></span></p>" - ); - - assert.equal( - TextFormatting.formatText('#foo/#bar', {searchTerm: '#foo'}).trim(), - "<p><span class='search-highlight'><a class='mention-link' href='#' data-hashtag='#foo'>#foo</a></span>/<a class='mention-link' href='#' data-hashtag='#bar'>#bar</a></p>" - ); - - assert.equal( - TextFormatting.formatText('#foo/#bar', {searchTerm: 'bar'}).trim(), - "<p><a class='mention-link' href='#' data-hashtag='#foo'>#foo</a>/<span class='search-highlight'><a class='mention-link' href='#' data-hashtag='#bar'>#bar</a></span></p>" - ); - - assert.equal( - TextFormatting.formatText('not#test', {searchTerm: '#test'}).trim(), - '<p>not#test</p>' - ); - - done(); - }); - - it('Potential hashtags with other entities nested', function(done) { - assert.equal( - TextFormatting.formatText('#@test').trim(), - '<p>#@test</p>' - ); - - let options = { - atMentions: true - }; - assert.equal( - TextFormatting.formatText('#@test', options).trim(), - '<p>#<span data-mention="test">@test</span></p>' - ); - - assert.equal( - TextFormatting.formatText('#~test').trim(), - '<p>#~test</p>' - ); - - 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(), - '<p>#~test</p>' - ); - - assert.equal( - TextFormatting.formatText('#:mattermost:').trim(), - '<p>#<span alt=":mattermost:" class="emoticon" title=":mattermost:" style="background-image:url(/static/emoji/mattermost.png)"></span></p>' - ); - - assert.equal( - TextFormatting.formatText('#test@example.com').trim(), - "<p><a class='mention-link' href='#' data-hashtag='#test'>#test</a>@example.com</p>" - ); - - done(); - }); -}); diff --git a/webapp/tests/utils/formatting_imgs.test.jsx b/webapp/tests/utils/formatting_imgs.test.jsx deleted file mode 100644 index 3e19a1e06..000000000 --- a/webapp/tests/utils/formatting_imgs.test.jsx +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import assert from 'assert'; - -import * as Markdown from 'utils/markdown.jsx'; - -describe('Markdown.Imgs', function() { - it('Inline mage', function(done) { - assert.equal( - Markdown.format('![Mattermost](/images/icon.png)').trim(), - '<p><img src="/images/icon.png" alt="Mattermost" class="markdown-inline-img"></p>' - ); - - done(); - }); - - it('Image with hover text', function(done) { - assert.equal( - Markdown.format('![Mattermost](/images/icon.png "Mattermost Icon")').trim(), - '<p><img src="/images/icon.png" alt="Mattermost" title="Mattermost Icon" class="markdown-inline-img"></p>' - ); - - done(); - }); - - it('Image with link', function(done) { - assert.equal( - Markdown.format('[![Mattermost](../../images/icon-76x76.png)](https://github.com/mattermost/platform)').trim(), - '<p><a class="theme markdown__link" href="https://github.com/mattermost/platform" rel="noreferrer" target="_blank"><img src="../../images/icon-76x76.png" alt="Mattermost" class="markdown-inline-img"></a></p>' - ); - - done(); - }); - - it('Image with width and height', function(done) { - assert.equal( - Markdown.format('![Mattermost](../../images/icon-76x76.png =50x76 "Mattermost Icon")').trim(), - '<p><img src="../../images/icon-76x76.png" alt="Mattermost" title="Mattermost Icon" width="50" height="76" class="markdown-inline-img"></p>' - ); - - done(); - }); - - it('Image with width', function(done) { - assert.equal( - Markdown.format('![Mattermost](../../images/icon-76x76.png =50 "Mattermost Icon")').trim(), - '<p><img src="../../images/icon-76x76.png" alt="Mattermost" title="Mattermost Icon" width="50" class="markdown-inline-img"></p>' - ); - - done(); - }); -}); diff --git a/webapp/tests/utils/formatting_links.test.jsx b/webapp/tests/utils/formatting_links.test.jsx deleted file mode 100644 index c4f949203..000000000 --- a/webapp/tests/utils/formatting_links.test.jsx +++ /dev/null @@ -1,516 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import assert from 'assert'; - -import * as Markdown from 'utils/markdown.jsx'; -import * as TextFormatting from 'utils/text_formatting.jsx'; - -describe('Markdown.Links', function() { - it('Not links', function(done) { - assert.equal( - Markdown.format('example.com').trim(), - '<p>example.com</p>' - ); - - assert.equal( - Markdown.format('readme.md').trim(), - '<p>readme.md</p>' - ); - - assert.equal( - Markdown.format('@example.com').trim(), - '<p>@example.com</p>' - ); - - assert.equal( - Markdown.format('./make-compiled-client.sh').trim(), - '<p>./make-compiled-client.sh</p>' - ); - - assert.equal( - Markdown.format('test.:test').trim(), - '<p>test.:test</p>' - ); - - assert.equal( - Markdown.format('`https://example.com`').trim(), - '<p>' + - '<span class="codespan__pre-wrap">' + - '<code>' + - 'https://example.com' + - '</code>' + - '</span>' + - '</p>' - ); - - assert.equal( - Markdown.format('[link](example.com').trim(), - '<p>[link](example.com</p>' - ); - - done(); - }); - - it('External links', function(done) { - assert.equal( - Markdown.format('http://example.com').trim(), - '<p><a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a></p>' - ); - - assert.equal( - Markdown.format('https://example.com').trim(), - '<p><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></p>' - ); - - assert.equal( - Markdown.format('www.example.com').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com" rel="noreferrer" target="_blank">www.example.com</a></p>' - ); - - assert.equal( - Markdown.format('www.example.com/index').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/index" rel="noreferrer" target="_blank">www.example.com/index</a></p>' - ); - - assert.equal( - Markdown.format('www.example.com/index.html').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/index.html" rel="noreferrer" target="_blank">www.example.com/index.html</a></p>' - ); - - assert.equal( - Markdown.format('www.example.com/index/sub').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/index/sub" rel="noreferrer" target="_blank">www.example.com/index/sub</a></p>' - ); - - assert.equal( - Markdown.format('www1.example.com').trim(), - '<p><a class="theme markdown__link" href="http://www1.example.com" rel="noreferrer" target="_blank">www1.example.com</a></p>' - ); - - assert.equal( - Markdown.format('example.com/index').trim(), - '<p><a class="theme markdown__link" href="http://example.com/index" rel="noreferrer" target="_blank">example.com/index</a></p>' - ); - - done(); - }); - - it('IP addresses', function(done) { - assert.equal( - Markdown.format('http://127.0.0.1').trim(), - '<p><a class="theme markdown__link" href="http://127.0.0.1" rel="noreferrer" target="_blank">http://127.0.0.1</a></p>' - ); - - assert.equal( - Markdown.format('http://192.168.1.1:4040').trim(), - '<p><a class="theme markdown__link" href="http://192.168.1.1:4040" rel="noreferrer" target="_blank">http://192.168.1.1:4040</a></p>' - ); - - assert.equal( - Markdown.format('http://[::1]:80').trim(), - '<p><a class="theme markdown__link" href="http://[::1]:80" rel="noreferrer" target="_blank">http://[::1]:80</a></p>' - ); - - assert.equal( - Markdown.format('http://[::1]:8065').trim(), - '<p><a class="theme markdown__link" href="http://[::1]:8065" rel="noreferrer" target="_blank">http://[::1]:8065</a></p>' - ); - - assert.equal( - Markdown.format('https://[::1]:80').trim(), - '<p><a class="theme markdown__link" href="https://[::1]:80" rel="noreferrer" target="_blank">https://[::1]:80</a></p>' - ); - - assert.equal( - Markdown.format('http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80').trim(), - '<p><a class="theme markdown__link" href="http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80" rel="noreferrer" target="_blank">http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80</a></p>' - ); - - assert.equal( - Markdown.format('http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:8065').trim(), - '<p><a class="theme markdown__link" href="http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:8065" rel="noreferrer" target="_blank">http://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:8065</a></p>' - ); - - assert.equal( - Markdown.format('https://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:443').trim(), - '<p><a class="theme markdown__link" href="https://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:443" rel="noreferrer" target="_blank">https://[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:443</a></p>' - ); - - assert.equal( - Markdown.format('http://username:password@127.0.0.1').trim(), - '<p><a class="theme markdown__link" href="http://username:password@127.0.0.1" rel="noreferrer" target="_blank">http://username:password@127.0.0.1</a></p>' - ); - - assert.equal( - Markdown.format('http://username:password@[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80').trim(), - '<p><a class="theme markdown__link" href="http://username:password@[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80" rel="noreferrer" target="_blank">http://username:password@[2001:0:5ef5:79fb:303a:62d5:3312:ff42]:80</a></p>' - ); - - done(); - }); - - it('Links with anchors', function(done) { - assert.equal( - Markdown.format('https://en.wikipedia.org/wiki/URLs#Syntax').trim(), - '<p><a class="theme markdown__link" href="https://en.wikipedia.org/wiki/URLs#Syntax" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/URLs#Syntax</a></p>' - ); - - assert.equal( - Markdown.format('https://groups.google.com/forum/#!msg').trim(), - '<p><a class="theme markdown__link" href="https://groups.google.com/forum/#!msg" rel="noreferrer" target="_blank">https://groups.google.com/forum/#!msg</a></p>' - ); - - done(); - }); - - it('Links with parameters', function(done) { - assert.equal( - Markdown.format('www.example.com/index?params=1').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/index?params=1" rel="noreferrer" target="_blank">www.example.com/index?params=1</a></p>' - ); - - assert.equal( - Markdown.format('www.example.com/index?params=1&other=2').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/index?params=1&other=2" rel="noreferrer" target="_blank">www.example.com/index?params=1&other=2</a></p>' - ); - - assert.equal( - Markdown.format('www.example.com/index?params=1;other=2').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/index?params=1;other=2" rel="noreferrer" target="_blank">www.example.com/index?params=1;other=2</a></p>' - ); - - assert.equal( - Markdown.format('http://example.com:8065').trim(), - '<p><a class="theme markdown__link" href="http://example.com:8065" rel="noreferrer" target="_blank">http://example.com:8065</a></p>' - ); - - assert.equal( - Markdown.format('http://username:password@example.com').trim(), - '<p><a class="theme markdown__link" href="http://username:password@example.com" rel="noreferrer" target="_blank">http://username:password@example.com</a></p>' - ); - - done(); - }); - - it('Special characters', function(done) { - assert.equal( - Markdown.format('http://www.example.com/_/page').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/_/page" rel="noreferrer" target="_blank">http://www.example.com/_/page</a></p>' - ); - - assert.equal( - Markdown.format('www.example.com/_/page').trim(), - '<p><a class="theme markdown__link" href="http://www.example.com/_/page" rel="noreferrer" target="_blank">www.example.com/_/page</a></p>' - ); - - assert.equal( - Markdown.format('https://en.wikipedia.org/wiki/🐬').trim(), - '<p><a class="theme markdown__link" href="https://en.wikipedia.org/wiki/🐬" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/🐬</a></p>' - ); - - assert.equal( - Markdown.format('http://✪df.ws/1234').trim(), - '<p><a class="theme markdown__link" href="http://✪df.ws/1234" rel="noreferrer" target="_blank">http://✪df.ws/1234</a></p>' - ); - - done(); - }); - - it('Brackets', function(done) { - assert.equal( - Markdown.format('https://en.wikipedia.org/wiki/Rendering_(computer_graphics)').trim(), - '<p><a class="theme markdown__link" href="https://en.wikipedia.org/wiki/Rendering_(computer_graphics)" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Rendering_(computer_graphics)</a></p>' - ); - - assert.equal( - Markdown.format('http://example.com/more_(than)_one_(parens)').trim(), - '<p><a class="theme markdown__link" href="http://example.com/more_(than)_one_(parens)" rel="noreferrer" target="_blank">http://example.com/more_(than)_one_(parens)</a></p>' - ); - - assert.equal( - Markdown.format('http://example.com/(something)?after=parens').trim(), - '<p><a class="theme markdown__link" href="http://example.com/(something)?after=parens" rel="noreferrer" target="_blank">http://example.com/(something)?after=parens</a></p>' - ); - - assert.equal( - Markdown.format('http://foo.com/unicode_(✪)_in_parens').trim(), - '<p><a class="theme markdown__link" href="http://foo.com/unicode_(✪)_in_parens" rel="noreferrer" target="_blank">http://foo.com/unicode_(✪)_in_parens</a></p>' - ); - - done(); - }); - - it('Email addresses', function(done) { - assert.equal( - Markdown.format('test@example.com').trim(), - '<p><a class="theme" href="mailto:test@example.com">test@example.com</a></p>' - ); - assert.equal( - Markdown.format('test_underscore@example.com').trim(), - '<p><a class="theme" href="mailto:test_underscore@example.com">test_underscore@example.com</a></p>' - ); - - assert.equal( - Markdown.format('mailto:test@example.com').trim(), - '<p><a class="theme markdown__link" href="mailto:test@example.com" rel="noreferrer" target="_blank">mailto:test@example.com</a></p>' - ); - - done(); - }); - - it('Formatted links', function(done) { - assert.equal( - Markdown.format('*https://example.com*').trim(), - '<p><em><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></em></p>' - ); - - assert.equal( - Markdown.format('_https://example.com_').trim(), - '<p><em><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></em></p>' - ); - - assert.equal( - Markdown.format('**https://example.com**').trim(), - '<p><strong><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></strong></p>' - ); - - assert.equal( - Markdown.format('__https://example.com__').trim(), - '<p><strong><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></strong></p>' - ); - - assert.equal( - Markdown.format('***https://example.com***').trim(), - '<p><strong><em><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></em></strong></p>' - ); - - assert.equal( - Markdown.format('___https://example.com___').trim(), - '<p><strong><em><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></em></strong></p>' - ); - - assert.equal( - Markdown.format('<https://example.com>').trim(), - '<p><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">https://example.com</a></p>' - ); - - assert.equal( - Markdown.format('<https://en.wikipedia.org/wiki/Rendering_(computer_graphics)>').trim(), - '<p><a class="theme markdown__link" href="https://en.wikipedia.org/wiki/Rendering_(computer_graphics)" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Rendering_(computer_graphics)</a></p>' - ); - - done(); - }); - - it('Links with text', function(done) { - assert.equal( - Markdown.format('[example link](example.com)').trim(), - '<p><a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">example link</a></p>' - ); - - assert.equal( - Markdown.format('[example.com](example.com)').trim(), - '<p><a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">example.com</a></p>' - ); - - assert.equal( - Markdown.format('[example.com/other](example.com)').trim(), - '<p><a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">example.com/other</a></p>' - ); - - assert.equal( - Markdown.format('[example.com/other_link](example.com/example)').trim(), - '<p><a class="theme markdown__link" href="http://example.com/example" rel="noreferrer" target="_blank">example.com/other_link</a></p>' - ); - - assert.equal( - Markdown.format('[link with spaces](example.com/ spaces in the url)').trim(), - '<p><a class="theme markdown__link" href="http://example.com/ spaces in the url" rel="noreferrer" target="_blank">link with spaces</a></p>' - ); - - assert.equal( - Markdown.format('[This whole #sentence should be a link](https://example.com)').trim(), - '<p><a class="theme markdown__link" href="https://example.com" rel="noreferrer" target="_blank">This whole #sentence should be a link</a></p>' - ); - - assert.equal( - Markdown.format('[email link](mailto:test@example.com)').trim(), - '<p><a class="theme markdown__link" href="mailto:test@example.com" rel="noreferrer" target="_blank">email link</a></p>' - ); - - assert.equal( - Markdown.format('[other link](ts3server://example.com)').trim(), - '<p><a class="theme markdown__link" href="ts3server://example.com" rel="noreferrer" target="_blank">other link</a></p>' - ); - - done(); - }); - - it('Links with tooltips', function(done) { - assert.equal( - Markdown.format('[link](example.com "catch phrase!")').trim(), - '<p><a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank" title="catch phrase!">link</a></p>' - ); - - assert.equal( - Markdown.format('[link](example.com "title with "quotes"")').trim(), - '<p><a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank" title="title with "quotes"">link</a></p>' - ); - assert.equal( - Markdown.format('[link with spaces](example.com/ spaces in the url "and a title")').trim(), - '<p><a class="theme markdown__link" href="http://example.com/ spaces in the url" rel="noreferrer" target="_blank" title="and a title">link with spaces</a></p>' - ); - - done(); - }); - - it('Links with surrounding text', function(done) { - assert.equal( - Markdown.format('This is a sentence with a http://example.com in it.').trim(), - '<p>This is a sentence with a <a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a> in it.</p>' - ); - - assert.equal( - Markdown.format('This is a sentence with a http://example.com/_/underscore in it.').trim(), - '<p>This is a sentence with a <a class="theme markdown__link" href="http://example.com/_/underscore" rel="noreferrer" target="_blank">http://example.com/_/underscore</a> in it.</p>' - ); - - assert.equal( - Markdown.format('This is a sentence with a http://192.168.1.1:4040 in it.').trim(), - '<p>This is a sentence with a <a class="theme markdown__link" href="http://192.168.1.1:4040" rel="noreferrer" target="_blank">http://192.168.1.1:4040</a> in it.</p>' - ); - - assert.equal( - Markdown.format('This is a sentence with a https://[::1]:80 in it.').trim(), - '<p>This is a sentence with a <a class="theme markdown__link" href="https://[::1]:80" rel="noreferrer" target="_blank">https://[::1]:80</a> in it.</p>' - ); - - done(); - }); - - it('Links with trailing punctuation', function(done) { - assert.equal( - Markdown.format('This is a link to http://example.com.').trim(), - '<p>This is a link to <a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a>.</p>' - ); - - assert.equal( - Markdown.format('This is a link containing http://example.com/something?with,commas,in,url, but not at the end').trim(), - '<p>This is a link containing <a class="theme markdown__link" href="http://example.com/something?with,commas,in,url" rel="noreferrer" target="_blank">http://example.com/something?with,commas,in,url</a>, but not at the end</p>' - ); - - assert.equal( - Markdown.format('This is a question about a link http://example.com?').trim(), - '<p>This is a question about a link <a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a>?</p>' - ); - - done(); - }); - - it('Links with surrounding brackets', function(done) { - assert.equal( - Markdown.format('(http://example.com)').trim(), - '<p>(<a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a>)</p>' - ); - - assert.equal( - Markdown.format('(see http://example.com)').trim(), - '<p>(see <a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a>)</p>' - ); - - assert.equal( - Markdown.format('(http://example.com watch this)').trim(), - '<p>(<a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a> watch this)</p>' - ); - - assert.equal( - Markdown.format('(www.example.com)').trim(), - '<p>(<a class="theme markdown__link" href="http://www.example.com" rel="noreferrer" target="_blank">www.example.com</a>)</p>' - ); - - assert.equal( - Markdown.format('(see www.example.com)').trim(), - '<p>(see <a class="theme markdown__link" href="http://www.example.com" rel="noreferrer" target="_blank">www.example.com</a>)</p>' - ); - - assert.equal( - Markdown.format('(www.example.com watch this)').trim(), - '<p>(<a class="theme markdown__link" href="http://www.example.com" rel="noreferrer" target="_blank">www.example.com</a> watch this)</p>' - ); - assert.equal( - Markdown.format('([link](http://example.com))').trim(), - '<p>(<a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">link</a>)</p>' - ); - - assert.equal( - Markdown.format('(see [link](http://example.com))').trim(), - '<p>(see <a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">link</a>)</p>' - ); - - assert.equal( - Markdown.format('([link](http://example.com) watch this)').trim(), - '<p>(<a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">link</a> watch this)</p>' - ); - - assert.equal( - Markdown.format('(test@example.com)').trim(), - '<p>(<a class="theme" href="mailto:test@example.com">test@example.com</a>)</p>' - ); - - assert.equal( - Markdown.format('(email test@example.com)').trim(), - '<p>(email <a class="theme" href="mailto:test@example.com">test@example.com</a>)</p>' - ); - - assert.equal( - Markdown.format('(test@example.com email)').trim(), - '<p>(<a class="theme" href="mailto:test@example.com">test@example.com</a> email)</p>' - ); - - assert.equal( - Markdown.format('This is a sentence with a [link](http://example.com) in it.').trim(), - '<p>This is a sentence with a <a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">link</a> in it.</p>' - ); - - assert.equal( - Markdown.format('This is a sentence with a link (http://example.com) in it.').trim(), - '<p>This is a sentence with a link (<a class="theme markdown__link" href="http://example.com" rel="noreferrer" target="_blank">http://example.com</a>) in it.</p>' - ); - - assert.equal( - Markdown.format('This is a sentence with a (https://en.wikipedia.org/wiki/Rendering_(computer_graphics)) in it.').trim(), - '<p>This is a sentence with a (<a class="theme markdown__link" href="https://en.wikipedia.org/wiki/Rendering_(computer_graphics)" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Rendering_(computer_graphics)</a>) in it.</p>' - ); - - done(); - }); - - it('Searching for links', function(done) { - assert.equal( - TextFormatting.formatText('https://en.wikipedia.org/wiki/Unix', {searchTerm: 'wikipedia'}).trim(), - '<p><a class="theme markdown__link search-highlight" href="https://en.wikipedia.org/wiki/Unix" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Unix</a></p>' - ); - - assert.equal( - TextFormatting.formatText('[Link](https://en.wikipedia.org/wiki/Unix)', {searchTerm: 'unix'}).trim(), - '<p><a class="theme markdown__link search-highlight" href="https://en.wikipedia.org/wiki/Unix" rel="noreferrer" target="_blank">Link</a></p>' - ); - - done(); - }); - - it('Links containing %', function(done) { - assert.equal( - Markdown.format('https://en.wikipedia.org/wiki/%C3%89').trim(), - '<p><a class="theme markdown__link" href="https://en.wikipedia.org/wiki/%C3%89" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/%C3%89</a></p>' - ); - - assert.equal( - Markdown.format('https://en.wikipedia.org/wiki/%E9').trim(), - '<p><a class="theme markdown__link" href="https://en.wikipedia.org/wiki/%E9" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/%E9</a></p>' - ); - - done(); - }); -}); diff --git a/webapp/tests/utils/latinise.test.jsx b/webapp/tests/utils/latinise.test.jsx deleted file mode 100644 index c50859524..000000000 --- a/webapp/tests/utils/latinise.test.jsx +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import {latinise} from 'utils/latinise.jsx'; - -describe('Latinise', () => { - describe('handleNames', () => { - test('should return ascii version of Dév Spé', () => { - expect(latinise('Dév Spé')). - toEqual('Dev Spe'); - }); - - test('should not replace any characters', () => { - expect(latinise('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890')). - toEqual('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'); - }); - - test('should replace characters with diacritics with ascii equivalents', () => { - expect(latinise('àáâãäåæçèéêëìíîïñòóôõöœùúûüýÿ')). - toEqual('aaaaaaaeceeeeiiiinooooooeuuuuyy'); - }); - }); -}); diff --git a/webapp/tests/utils/post_utils.test.jsx b/webapp/tests/utils/post_utils.test.jsx deleted file mode 100644 index bcb5c039e..000000000 --- a/webapp/tests/utils/post_utils.test.jsx +++ /dev/null @@ -1,147 +0,0 @@ -import * as PostUtils from 'utils/post_utils.jsx'; - -describe('PostUtils.containsAtMention', function() { - test('should return correct @all (same for @channel)', function() { - for (const data of [ - { - text: undefined, // eslint-disable-line no-undefined - key: undefined, // eslint-disable-line no-undefined - result: false - }, - { - text: '', - key: '', - result: false - }, - { - text: 'all', - key: '@all', - result: false - }, - { - text: '@allison', - key: '@all', - result: false - }, - { - text: '@ALLISON', - key: '@all', - result: false - }, - { - text: '@all123', - key: '@all', - result: false - }, - { - text: '123@all', - key: '@all', - result: false - }, - { - text: 'hey@all', - key: '@all', - result: false - }, - { - text: 'hey@all.com', - key: '@all', - result: false - }, - { - text: '@all', - key: '@all', - result: true - }, - { - text: '@ALL', - key: '@all', - result: true - }, - { - text: '@all hey', - key: '@all', - result: true - }, - { - text: 'hey @all', - key: '@all', - result: true - }, - { - text: 'HEY @ALL', - key: '@all', - result: true - }, - { - text: 'hey @all!', - key: '@all', - result: true - }, - { - text: 'hey @all:+1:', - key: '@all', - result: true - }, - { - text: 'hey @ALL:+1:', - key: '@all', - result: true - }, - { - text: '`@all`', - key: '@all', - result: false - }, - { - text: '@someone `@all`', - key: '@all', - result: false - }, - { - text: '@someone `@all`', - key: '@someone', - result: true - }, - { - text: '``@all``', - key: '@all', - result: false - }, - { - text: '```@all```', - key: '@all', - result: false - }, - { - text: '```\n@all\n```', - key: '@all', - result: false - }, - { - text: '```````\n@all\n```````', - key: '@all', - result: false - }, - { - text: '```code\n@all\n```', - key: '@all', - result: false - }, - { - text: '~~~@all~~~', - key: '@all', - result: true - }, - { - text: '~~~\n@all\n~~~', - key: '@all', - result: false - } - ]) { - const containsAtMention = PostUtils.containsAtMention(data.text, data.key); - - expect(containsAtMention).toEqual(data.result); - } - }); -}); diff --git a/webapp/tests/utils/utils_get_nearest_point.test.jsx b/webapp/tests/utils/utils_get_nearest_point.test.jsx deleted file mode 100644 index 101f768bb..000000000 --- a/webapp/tests/utils/utils_get_nearest_point.test.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import * as CommonUtils from 'utils/commons.jsx'; - -describe('CommonUtils.getNearestPoint', function() { - test('should return nearest point', function() { - for (const data of [ - { - points: [{x: 30, y: 40}, {x: 50, y: 50}, {x: 100, y: 2}, {x: 500, y: 200}, {x: 110, y: 20}, {x: 10, y: 20}], - pivotPoint: {x: 10, y: 20}, - nearestPoint: {x: 10, y: 20}, - nearestPointLte: {x: 10, y: 20} - }, - { - points: [{x: 50, y: 50}, {x: 100, y: 2}, {x: 500, y: 200}, {x: 110, y: 20}, {x: 100, y: 90}, {x: 30, y: 40}], - pivotPoint: {x: 10, y: 20}, - nearestPoint: {x: 30, y: 40}, - nearestPointLte: {} - }, - { - points: [{x: 50, y: 50}, {x: 1, y: 1}, {x: 15, y: 25}, {x: 100, y: 2}, {x: 500, y: 200}, {x: 110, y: 20}], - pivotPoint: {x: 10, y: 20}, - nearestPoint: {x: 15, y: 25}, - nearestPointLte: {x: 1, y: 1} - } - ]) { - const nearestPoint = CommonUtils.getNearestPoint(data.pivotPoint, data.points); - - expect(nearestPoint.x).toEqual(data.nearestPoint.x); - expect(nearestPoint.y).toEqual(data.nearestPoint.y); - } - }); -}); |