]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/blobdiff - test/website_test.rb
Made the output filename the responsibility of the website subclass.
[dead/whatever-dl.git] / test / website_test.rb
index e523b1f01bc4e7d7a3eccdbd8b2ace675821cddb..ff5f0551dd8b2e7a78cf4694e5b4deff6943ef8d 100644 (file)
@@ -1,6 +1,25 @@
-# Tests common to all websites.
+#
+# Copyright Michael Orlitzky
+#
+# http://michael.orlitzky.com/
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# http://www.fsf.org/licensing/licenses/gpl.html
+#
+
 require 'test/unit'
 
+# Tests common to all websites.
+
 # All of the website classes are located in one
 # directory, so we can 'require' them automatically.
 Dir.glob('src/websites/*.rb').each do |r|
@@ -9,12 +28,31 @@ end
 
 class WebsiteTest < Test::Unit::TestCase
 
-  def test_doesnt_own_misc_urls
-    Website.subclasses.each do |w|
-      assert(!w.owns_url?('6807'))
-      assert(!w.owns_url?('www'))
-      assert(!w.owns_url?('http'))
+  def test_nobody_owns_misc_urls
+    assert_nil(Website.create('6807'))
+    assert_nil(Website.create('www'))
+    assert_nil(Website.create('http'))
+  end
+
+
+  def test_owns_url_must_be_implemented
+    assert_raise NotImplementedError do
+      Website.owns_url?('http://www.example.com/')
+    end
+  end
+
+  
+  def test_get_video_url_must_be_implemented
+    w = Website.new(nil)
+    assert_raise NotImplementedError do
+      w.get_video_url()
     end
   end
 
+
+  def test_youtube_url_returns_youtube_instance
+    yt = Website.create('http://www.youtube.com/watch?v=83-hlYMH1XE&feature=dir')
+    assert_instance_of(Youtube, yt)
+  end
+  
 end