From 652fe49e8da7d28ae6e3b71b81f33230437a5ce7 Mon Sep 17 00:00:00 2001 From: IliesAllali Date: Thu, 12 Nov 2026 13:37:18 +0100 Subject: [PATCH] =?UTF-8?q?Souvenirs=20:=20une=20vid=C3=A9o=20YouTube=20se?= =?UTF-8?q?=20colle=20sous=20toutes=20ses=20formes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le champ « Un lien YouTube » acceptait tout lien en youtube.com, mais la visionneuse ne lisait que watch?v= et youtu.be : un lien d'intégration (/embed/), un Short ou un direct s'enregistrait puis s'affichait « Lien YouTube invalide », et le code `], + ])('retrouve la vidéo dans %s', (value) => { + expect(youtubeVideoId(value)).toBe(ID) + }) + + it.each([ + [''], + [null], + ['pas un lien'], + [`https://vimeo.com/${ID}`], + [`https://www.youtube.com.example.org/watch?v=${ID}`], + ['https://www.youtube.com/watch?v=trop-court'], + ['https://www.youtube.com/@chaine'], + [`javascript:alert(1)//youtube.com/watch?v=${ID}`], + [``], + ])('refuse %s', (value) => { + expect(youtubeVideoId(value)).toBeNull() + }) + + it('enregistre le lien de la barre d adresse et intègre sans cookie', () => { + const iframe = `` + expect(youtubeWatchUrl(iframe)).toBe(`https://www.youtube.com/watch?v=${ID}`) + expect(youtubeEmbedUrl(`https://www.youtube.com/shorts/${ID}`)).toBe(`https://www.youtube-nocookie.com/embed/${ID}`) + }) +})