]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/blobdiff - test/youtube_test.rb
Made the output filename the responsibility of the website subclass.
[dead/whatever-dl.git] / test / youtube_test.rb
index b5de6a8ca348babc7bc1a1850bed09f7d3b58089..cbc03755d8ca2bd40849de05b14fd7ee3dbaf119 100644 (file)
@@ -31,6 +31,8 @@ class YoutubeTest < Test::Unit::TestCase
     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'))
+    assert(Youtube.owns_url?('http://www.youtube.com/watch?v=83-hlYMH1XE'))
+    assert(Youtube.owns_url?('http://www.youtube.com/watch?v=83-hlYMH1XE&feature=dir'))
   end
 
 
@@ -43,23 +45,23 @@ class YoutubeTest < Test::Unit::TestCase
 
 
   def test_parse_video_id
-    yt = Youtube.new()
+    yt = Youtube.new('http://www.youtube.com/watch?v=SudixyugiX4')
     expected_result = 'SudixyugiX4'
-    actual_result = yt.send('parse_video_id', 'http://www.youtube.com/watch?v=SudixyugiX4')
+    actual_result = yt.send('parse_video_id')
     assert_equal(expected_result, actual_result)
   end
 
 
   def test_parse_video_id_again
-    yt = Youtube.new()
+    yt = Youtube.new('http://www.youtube.com/watch?v=K9iDMcmm0tE')
     expected_result = 'K9iDMcmm0tE'
-    actual_result = yt.send('parse_video_id', 'http://www.youtube.com/watch?v=K9iDMcmm0tE')
+    actual_result = yt.send('parse_video_id')
     assert_equal(expected_result, actual_result)
   end
 
-  
+
   def test_parse_t_parameter
-    yt = Youtube.new()
+    yt = Youtube.new(nil)
     
     page_data = nil
     
@@ -77,7 +79,7 @@ class YoutubeTest < Test::Unit::TestCase
     # 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()
+    yt = Youtube.new(nil)
     
     page_data = nil
     
@@ -89,5 +91,39 @@ class YoutubeTest < Test::Unit::TestCase
     actual_result = yt.send('parse_t_parameter', page_data)
     assert_equal(expected_result, actual_result)
   end
+
+
+  def test_get_video_filename
+    yt = Youtube.new('http://www.youtube.com/watch?v=SudixyugiX4')
+    expected_result = 'SudixyugiX4.flv'
+    actual_result = yt.get_video_filename()
+    assert_equal(expected_result, actual_result)
+  end
+
+  
+  def test_get_video_filename_again
+    yt = Youtube.new('http://www.youtube.com/watch?v=K9iDMcmm0tE')
+    expected_result = 'K9iDMcmm0tE.flv'
+    actual_result = yt.get_video_filename()
+    assert_equal(expected_result, actual_result)
+  end
+
+  
+  def test_get_troublesome_video_filename_first_form
+    # This non-alphanumeric video id was causing
+    # get_video_filename to barf.
+    yt = Youtube.new('http://www.youtube.com/watch?v=83-hlYMH1XE&feature=dir')
+    expected_result = '83-hlYMH1XE.flv'
+    actual_result = yt.get_video_filename()
+    assert_equal(expected_result, actual_result)
+  end
+
+
+  def test_get_troublesome_video_filename_second_form
+    yt = Youtube.new('http://www.youtube.com/v/83-hlYMH1XE&feature=dir')
+    expected_result = '83-hlYMH1XE.flv'
+    actual_result = yt.get_video_filename()
+    assert_equal(expected_result, actual_result)
+  end
   
 end