23 lines
1.0 KiB
TypeScript
23 lines
1.0 KiB
TypeScript
import { test } from 'node:test';
|
|||
|
|
import assert from 'node:assert/strict';
|
||
|
|
import { sameProvider } from './embedProvider';
|
||
|
|
|
||
|
|
test("sameProvider: a page cannot borrow another provider's embed via og:url (#326)", () => {
|
||
|
|
const yt = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
|
||
|
|
assert.equal(sameProvider('https://evil.example/free-gift', yt), false);
|
||
|
|
assert.equal(sameProvider('https://youtube.com.evil.example/x', yt), false);
|
||
|
|
assert.equal(sameProvider('https://youtu.be/abc', yt), true);
|
||
|
|
assert.equal(sameProvider('https://m.youtube.com/shorts/abc', yt), true);
|
||
|
|
assert.equal(
|
||
|
|
sameProvider('https://vm.tiktok.com/ZM123/', 'https://www.tiktok.com/@a/video/1'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
assert.equal(sameProvider('https://spotify.link/abc', 'https://open.spotify.com/track/1'), true);
|
||
|
|
assert.equal(sameProvider('https://on.soundcloud.com/x', 'https://soundcloud.com/a/b'), true);
|
||
|
|
assert.equal(
|
||
|
|
sameProvider('https://redd.it/abc', 'https://www.reddit.com/r/x/comments/abc/'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
assert.equal(sameProvider('not a url', yt), false);
|
||
|
|
});
|