]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/blobdiff - test/youtube_test.rb
Remove t_parameter tests for the Youtube class.
[dead/whatever-dl.git] / test / youtube_test.rb
index fa61cb27feb12087e676318cb37cc6f497705c9a..233f31bafadd7e9d71918a94ac70f0547c457589 100644 (file)
@@ -35,6 +35,7 @@ class YoutubeTest < Test::Unit::TestCase
     assert(Youtube.owns_url?('http://www.youtube.com/watch?v=83-hlYMH1XE&feature=dir'))
     assert(Youtube.owns_url?('http://in.youtube.com/watch?v=VcydqSpYN00&feature=channel_page'))
     assert(Youtube.owns_url?('http://uk.youtube.com/watch?v=LN4Ov6ZLcrI'))
+    assert(Youtube.owns_url?('http://www.youtube.com/meetlocalbiz#p/u/0/rJVWV4aA6Jk'))
   end
 
 
@@ -62,35 +63,61 @@ class YoutubeTest < Test::Unit::TestCase
   end
 
 
-  def test_parse_t_parameter
+  def test_get_available_formats
+    # Make sure that we can parse the available formats from a page.
     yt = Youtube.new(nil)
-    
+
     page_data = nil
+
+    File.open('test/fixtures/youtube/BUer8Dv2HW8.html') do |f|
+      page_data = f.read
+    end
+
+    actual_formats = yt.send('get_available_formats', page_data)
+    expected_formats = [ 37, 22, 35, 18, 34, 5 ]
     
-    File.open('test/fixtures/youtube/SudixyugiX4.html') do |f|
+    # Make sure that all of the elements of the "expected" set are in
+    # the "actual" set and vice-versa.
+    assert_equal([], expected_formats - actual_formats)
+    assert_equal([], actual_formats - expected_formats)
+  end
+
+
+  def test_get_available_formats_from_url
+    # Tests a different regex than the other available formats test.
+    yt = Youtube.new(nil)
+
+    page_data = nil
+
+    File.open('test/fixtures/youtube/cpU27Xp8zdM.html') do |f|
       page_data = f.read
     end
 
-    expected_result = 'OEgsToPDskLQUAntWWpzhEMhBMlgqHdo'
-    actual_result = yt.send('parse_t_parameter', page_data)
-    assert_equal(expected_result, actual_result)
+    actual_formats = yt.send('get_available_formats', page_data)
+    expected_formats = [ 34, 5 ]
+
+    # Make sure that all of the elements of the "expected" set are in
+    # the "actual" set and vice-versa.
+    assert_equal([], expected_formats - actual_formats)
+    assert_equal([], actual_formats - expected_formats)
   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.
+
+  def test_get_desired_format
+    # The get_desired_format() method should choose the best of the
+    # available formats.
     yt = Youtube.new(nil)
-    
+
     page_data = nil
-    
-    File.open('test/fixtures/youtube/K9iDMcmm0tE.html') do |f|
+
+    File.open('test/fixtures/youtube/BUer8Dv2HW8.html') do |f|
       page_data = f.read
     end
 
-    expected_result = 'O_EgsToPDskJsXVvAXpAct1zug-lBJBz'
-    actual_result = yt.send('parse_t_parameter', page_data)
+    available_formats = yt.send('get_available_formats', page_data)
+    actual_result = yt.send('get_desired_format', available_formats)
+    expected_result = 37
+
     assert_equal(expected_result, actual_result)
   end