X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=test%2Fwebsite_test.rb;h=d0219b80af8a4d85c8930062c4d5c59fddb0893f;hb=HEAD;hp=e523b1f01bc4e7d7a3eccdbd8b2ace675821cddb;hpb=168ef3b2ccf5b97d561a3c542a18e8e7587de291;p=dead%2Fwhatever-dl.git diff --git a/test/website_test.rb b/test/website_test.rb index e523b1f..d0219b8 100644 --- a/test/website_test.rb +++ b/test/website_test.rb @@ -1,20 +1,54 @@ -# 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' +require 'whatever-dl' -# 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 +# Tests common to all websites. 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