X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=test%2Fwebsite_test.rb;h=d0219b80af8a4d85c8930062c4d5c59fddb0893f;hb=cfb766c18f5f6347f002e3f5b1b4b47647c43a5a;hp=e140676683502e3484117e1e6e06ff6707858d63;hpb=00f5e6f475d07afa862c8f33854d8ed52185ea81;p=dead%2Fwhatever-dl.git diff --git a/test/website_test.rb b/test/website_test.rb index e140676..d0219b8 100644 --- a/test/website_test.rb +++ b/test/website_test.rb @@ -17,23 +17,38 @@ # require 'test/unit' +require 'whatever-dl' # 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| - require r -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 + # These should wind up + assert(Website.create('6807').class() == Generic ) + assert(Website.create('www').class() == Generic) + assert(Website.create('http').class() == Generic) + 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