OSDN Git Service

ruby-1.9.1-rc1
[splhack/AndroidRuby.git] / lib / ruby-1.9.1-rc1 / test / rss / test_slash.rb
1 require "cgi"
2 require "rexml/document"
3
4 require "rss-testcase"
5
6 require "rss/1.0"
7 require "rss/slash"
8
9 module RSS
10   class TestSlash < TestCase
11     def setup
12       @elements = {
13         "section" => "articles",
14         "department" => "not-an-ocean-unless-there-are-lobsters",
15         "comments" => 177,
16         "hit_parades" => [177, 155, 105, 33, 6, 3, 0],
17       }
18
19       slash_nodes = @elements.collect do |name, value|
20         if name == "hit_parades"
21           name = "hit_parade"
22           value = value.join(",")
23         end
24         "<slash:#{name}>#{value}</slash:#{name}>"
25       end.join("\n")
26
27       slash_ns = {"slash" => "http://purl.org/rss/1.0/modules/slash/"}
28       @source = make_RDF(<<-EOR, slash_ns)
29 #{make_channel}
30 #{make_image}
31 #{make_item(slash_nodes)}
32 #{make_textinput}
33 EOR
34     end
35
36     def test_parser
37       rss = RSS::Parser.parse(@source)
38
39       assert_not_nil(rss)
40
41       item = rss.items[0]
42       assert_not_nil(item)
43
44       assert_slash_elements(item)
45     end
46
47     def test_to_s
48       rss = RSS::Parser.parse(@source)
49       rss = RSS::Parser.parse(rss.to_s)
50
51       assert_not_nil(rss)
52
53       item = rss.items[0]
54       assert_not_nil(item)
55
56       assert_slash_elements(item)
57     end
58
59     private
60     def assert_slash_elements(target)
61       super(@elements, target)
62     end
63   end
64 end