#
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