From a72830d88eb63d46744f22a2534a777bac4991a8 Mon Sep 17 00:00:00 2001 From: John Foerch Date: Tue, 20 Dec 2011 16:51:22 -0500 Subject: [PATCH] youtube_uri_regexp: match urls where 'v' is not first query variable --- modules/page-modes/youtube.js | 2 +- tests/simple/page-mode-activation.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/simple/page-mode-activation.js diff --git a/modules/page-modes/youtube.js b/modules/page-modes/youtube.js index fb418c7..e6a3173 100644 --- a/modules/page-modes/youtube.js +++ b/modules/page-modes/youtube.js @@ -138,7 +138,7 @@ function youtube_scrape_embedded (buffer, results) { let youtube_uri_regexp = build_url_regex($domain = /(?:[a-z]+\.)?youtube/, - $path = /watch\?v=([A-Za-z0-9\-_]+)/); + $path = /watch\?(?:.*?&)?v=([A-Za-z0-9\-_]+)/); media_scrapers.unshift([/.*/, youtube_scrape_embedded]); media_scrapers.unshift([youtube_uri_regexp, youtube_scrape_buffer]); auto_mode_list.push([youtube_uri_regexp, youtube_mode]); diff --git a/tests/simple/page-mode-activation.js b/tests/simple/page-mode-activation.js new file mode 100644 index 0000000..2734cee --- /dev/null +++ b/tests/simple/page-mode-activation.js @@ -0,0 +1,17 @@ + +require("walnut.js"); + +walnut_run({ + test_youtube_1: function () { + assert_equals(regexp_exec(youtube_uri_regexp, + "http://www.youtube.com/watch?v=cpmnazm6HVU&feature=related", + 1), + "cpmnazm6HVU"); + }, + test_youtube_2: function () { + assert_equals(regexp_exec(youtube_uri_regexp, + "http://www.youtube.com/watch?feature=player_detailpage&v=6ivsFnbeM_Q", + 1), + "6ivsFnbeM_Q"); + } +}); -- 2.11.4.GIT