]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/blob - test/website_test.rb
Update the makefile and test code so that the tests run with Ruby 1.9 and pass generally.
[dead/whatever-dl.git] / test / website_test.rb
1 #
2 # Copyright Michael Orlitzky
3 #
4 # http://michael.orlitzky.com/
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # http://www.fsf.org/licensing/licenses/gpl.html
17 #
18
19 require 'test/unit'
20
21 # Tests common to all websites.
22
23 # All of the website classes are located in one
24 # directory, so we can 'require' them automatically.
25 Dir.glob('src/websites/*.rb').each do |r|
26 require r
27 end
28
29 class WebsiteTest < Test::Unit::TestCase
30
31 def test_nobody_owns_misc_urls
32 # These should wind up
33 assert(Website.create('6807').class() == Generic )
34 assert(Website.create('www').class() == Generic)
35 assert(Website.create('http').class() == Generic)
36 end
37
38
39 def test_owns_url_must_be_implemented
40 assert_raise NotImplementedError do
41 Website.owns_url?('http://www.example.com/')
42 end
43 end
44
45
46 def test_get_video_url_must_be_implemented
47 w = Website.new(nil)
48 assert_raise NotImplementedError do
49 w.get_video_url()
50 end
51 end
52
53
54 def test_youtube_url_returns_youtube_instance
55 yt = Website.create('http://www.youtube.com/watch?v=83-hlYMH1XE&feature=dir')
56 assert_instance_of(Youtube, yt)
57 end
58
59 end