fix(rumble): le lien de nav /videos n'est plus pris pour une vidéo
CI / build-and-test (push) Canceled after 0s
CI / build-and-test (push) Canceled after 0s
Le scan générique acceptait tout href /^\/v/ dont le regex d'id matchait : `/videos` donnait `videoId: "videos"` — une fausse carte en tête du flux /shorts (pré-validée puis retirée, mais visible le temps du résolve). Probe live : 32/32 vrais ids rumble portent au moins un chiffre, seul /videos n'en a pas. Garde « >=1 chiffre » dans l'id, plafond documenté (un id sans chiffre ferait sauter sa carte). Effet de bord heureux : la branche /video/123 (isLegacy) était morte depuis toujours — le regex capturait « video » avant elle — elle redevient accessible. Tests : lien /videos ajouté au fixture du flux, 64 assertions vertes.
This commit is contained in:
@@ -146,13 +146,16 @@ const cardsHtml = `<html><body>
|
||||
<a href="/vBBB22-autre-titre.html"><img src="https://i.rumble.com/b.jpg"></a>
|
||||
<h3>Titre B</h3><span class="video-item--views" data-views="3456"></span>
|
||||
</div>
|
||||
<div class="video-item">
|
||||
<a href="/videos"><h3>Featured Channels</h3></a>
|
||||
</div>
|
||||
<div class="video-item">
|
||||
<a href="/shorts/vCCC33"><h3>Titre C</h3></a>
|
||||
</div>
|
||||
</body></html>`;
|
||||
|
||||
const browseCards = parseCardsHtml(cardsHtml, { mode: 'browse' });
|
||||
eq(browseCards.length, 2, 'cards browse: /vXXXX lu, /shorts/ ignoré');
|
||||
eq(browseCards.length, 2, 'cards browse: /vXXXX lu, /shorts/ et /videos (nav) ignorés');
|
||||
eq(browseCards[0].id, 'vAAA11', 'cards: id = vXXXX avant le slug -titre');
|
||||
eq(browseCards[0].views, 1200, 'cards: vues « 1,2K » -> 1200 (bug parseur legacy corrigé)');
|
||||
eq(browseCards[0].duration, 90, 'cards: durée depuis data-value');
|
||||
|
||||
Reference in New Issue
Block a user