diff options
author | Hailey <153161762+haileyok@users.noreply.github.com> | 2024-01-08 13:55:48 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-08 13:55:48 -0800 |
commit | 928a626c2e82eb2663e16800a87b1c34c0ab83d5 (patch) | |
tree | 7c107a15b1bcce4a8554eeed6abfa1a98b7a9cb3 | |
parent | 9eeff2cc5ca6c05dee8c191f33dbbb4b7a4bd482 (diff) | |
download | voidsky-928a626c2e82eb2663e16800a87b1c34c0ab83d5.tar.zst |
support intl tenor links (#2438)
* support intl tenor links * update test cases
-rw-r--r-- | __tests__/lib/string.test.ts | 8 | ||||
-rw-r--r-- | src/lib/strings/embed-player.ts | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/__tests__/lib/string.test.ts b/__tests__/lib/string.test.ts index 89df7a6bd..edddcb3e0 100644 --- a/__tests__/lib/string.test.ts +++ b/__tests__/lib/string.test.ts @@ -455,6 +455,7 @@ describe('parseEmbedPlayerFromUrl', () => { 'https://tenor.com/notView/gifId', 'https://tenor.com/view', 'https://tenor.com/view/gifId.gif', + 'https://tenor.com/intl/view/gifId.gif', ] const outputs = [ @@ -742,6 +743,13 @@ describe('parseEmbedPlayerFromUrl', () => { hideDetails: true, playerUri: 'https://tenor.com/view/gifId.gif', }, + { + type: 'tenor_gif', + source: 'tenor', + isGif: true, + hideDetails: true, + playerUri: 'https://tenor.com/intl/view/gifId.gif', + }, ] it('correctly grabs the correct id from uri', () => { diff --git a/src/lib/strings/embed-player.ts b/src/lib/strings/embed-player.ts index b27fd9e78..0f97eb080 100644 --- a/src/lib/strings/embed-player.ts +++ b/src/lib/strings/embed-player.ts @@ -319,9 +319,12 @@ export function parseEmbedPlayerFromUrl( } if (urlp.hostname === 'tenor.com' || urlp.hostname === 'www.tenor.com') { - const [_, path, filename] = urlp.pathname.split('/') + const [_, pathOrIntl, pathOrFilename, intlFilename] = + urlp.pathname.split('/') + const isIntl = pathOrFilename === 'view' + const filename = isIntl ? intlFilename : pathOrFilename - if (path === 'view' && filename) { + if ((pathOrIntl === 'view' || pathOrFilename === 'view') && filename) { const includesExt = filename.split('.').pop() === 'gif' return { |