]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/blobdiff - test/youtube_test.rb
Fixed a bug in the Youtube class' parsing of the "t" parameter.
[dead/whatever-dl.git] / test / youtube_test.rb
index 08e8030e8b8686a5898ce735f5d6d50c6b3e1530..b5de6a8ca348babc7bc1a1850bed09f7d3b58089 100644 (file)
@@ -28,6 +28,9 @@ class YoutubeTest < Test::Unit::TestCase
     assert(Youtube.owns_url?('http://www.youtube.com/v/SudixyugiX4'))
     assert(Youtube.owns_url?('http://www.youtube.com/v/SudixyugiX4&hl=en'))
     assert(Youtube.owns_url?('http://youtube.com/v/SudixyugiX4&hl=en'))
+    assert(Youtube.owns_url?('http://www.youtube.com/watch?v=K9iDMcmm0tE'))
+    assert(Youtube.owns_url?('http://www.youtube.com/watch?v=K9iDMcmm0tE#'))
+    assert(Youtube.owns_url?('http://www.youtube.com/v/K9iDMcmm0tE'))
   end
 
 
@@ -46,6 +49,14 @@ class YoutubeTest < Test::Unit::TestCase
     assert_equal(expected_result, actual_result)
   end
 
+
+  def test_parse_video_id_again
+    yt = Youtube.new()
+    expected_result = 'K9iDMcmm0tE'
+    actual_result = yt.send('parse_video_id', 'http://www.youtube.com/watch?v=K9iDMcmm0tE')
+    assert_equal(expected_result, actual_result)
+  end
+
   
   def test_parse_t_parameter
     yt = Youtube.new()
@@ -60,5 +71,23 @@ class YoutubeTest < Test::Unit::TestCase
     actual_result = yt.send('parse_t_parameter', page_data)
     assert_equal(expected_result, actual_result)
   end
+
+  
+  def test_parse_t_parameter_again
+    # This was failing once because my regex missed a hyphen.
+    # I modified the regex to match anything between the pair
+    # of quotes, so it should now catch the hyphen and underscore.
+    yt = Youtube.new()
     
+    page_data = nil
+    
+    File.open('test/fixtures/youtube/K9iDMcmm0tE.html') do |f|
+      page_data = f.read
+    end
+
+    expected_result = 'O_EgsToPDskJsXVvAXpAct1zug-lBJBz'
+    actual_result = yt.send('parse_t_parameter', page_data)
+    assert_equal(expected_result, actual_result)
+  end
+  
 end