support intl tenor links (#2438)

* support intl tenor links

* update test cases
zio/stable
Hailey 2024-01-08 13:55:48 -08:00 committed by GitHub
parent 9eeff2cc5c
commit 928a626c2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View File

@ -455,6 +455,7 @@ describe('parseEmbedPlayerFromUrl', () => {
'https://tenor.com/notView/gifId', 'https://tenor.com/notView/gifId',
'https://tenor.com/view', 'https://tenor.com/view',
'https://tenor.com/view/gifId.gif', 'https://tenor.com/view/gifId.gif',
'https://tenor.com/intl/view/gifId.gif',
] ]
const outputs = [ const outputs = [
@ -742,6 +743,13 @@ describe('parseEmbedPlayerFromUrl', () => {
hideDetails: true, hideDetails: true,
playerUri: 'https://tenor.com/view/gifId.gif', 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', () => { it('correctly grabs the correct id from uri', () => {

View File

@ -319,9 +319,12 @@ export function parseEmbedPlayerFromUrl(
} }
if (urlp.hostname === 'tenor.com' || urlp.hostname === 'www.tenor.com') { 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' const includesExt = filename.split('.').pop() === 'gif'
return { return {