X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=test%2Fwebsite_test.rb;h=ff5f0551dd8b2e7a78cf4694e5b4deff6943ef8d;hb=83e06f83d8274cb32a406739839d56e759664b09;hp=e523b1f01bc4e7d7a3eccdbd8b2ace675821cddb;hpb=168ef3b2ccf5b97d561a3c542a18e8e7587de291;p=dead%2Fwhatever-dl.git diff --git a/test/website_test.rb b/test/website_test.rb index e523b1f..ff5f055 100644 --- a/test/website_test.rb +++ b/test/website_test.rb @@ -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