rss 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +38 -0
  3. data/README.md +11 -11
  4. data/lib/rss/itunes.rb +10 -1
  5. data/lib/rss/maker/itunes.rb +2 -0
  6. data/lib/rss/rss.rb +43 -15
  7. data/lib/rss/utils.rb +0 -18
  8. data/lib/rss/version.rb +1 -1
  9. data/lib/rss/xml-stylesheet.rb +3 -4
  10. data/lib/rss/xml.rb +3 -2
  11. data/lib/rss.rb +11 -11
  12. metadata +7 -101
  13. data/Gemfile +0 -6
  14. data/Rakefile +0 -15
  15. data/rss.gemspec +0 -30
  16. data/test/dot.png +0 -0
  17. data/test/rss-assertions.rb +0 -2116
  18. data/test/rss-testcase.rb +0 -479
  19. data/test/run-test.rb +0 -15
  20. data/test/test_1.0.rb +0 -308
  21. data/test/test_2.0.rb +0 -412
  22. data/test/test_accessor.rb +0 -104
  23. data/test/test_atom.rb +0 -684
  24. data/test/test_content.rb +0 -105
  25. data/test/test_dublincore.rb +0 -270
  26. data/test/test_image.rb +0 -215
  27. data/test/test_inherit.rb +0 -41
  28. data/test/test_itunes.rb +0 -360
  29. data/test/test_maker_0.9.rb +0 -477
  30. data/test/test_maker_1.0.rb +0 -519
  31. data/test/test_maker_2.0.rb +0 -758
  32. data/test/test_maker_atom_entry.rb +0 -394
  33. data/test/test_maker_atom_feed.rb +0 -455
  34. data/test/test_maker_content.rb +0 -48
  35. data/test/test_maker_dc.rb +0 -150
  36. data/test/test_maker_image.rb +0 -63
  37. data/test/test_maker_itunes.rb +0 -488
  38. data/test/test_maker_slash.rb +0 -38
  39. data/test/test_maker_sy.rb +0 -45
  40. data/test/test_maker_taxo.rb +0 -82
  41. data/test/test_maker_trackback.rb +0 -42
  42. data/test/test_maker_xml-stylesheet.rb +0 -84
  43. data/test/test_parser.rb +0 -122
  44. data/test/test_parser_1.0.rb +0 -529
  45. data/test/test_parser_2.0.rb +0 -123
  46. data/test/test_parser_atom_entry.rb +0 -164
  47. data/test/test_parser_atom_feed.rb +0 -277
  48. data/test/test_setup_maker_0.9.rb +0 -247
  49. data/test/test_setup_maker_1.0.rb +0 -551
  50. data/test/test_setup_maker_2.0.rb +0 -309
  51. data/test/test_setup_maker_atom_entry.rb +0 -410
  52. data/test/test_setup_maker_atom_feed.rb +0 -446
  53. data/test/test_setup_maker_itunes.rb +0 -146
  54. data/test/test_setup_maker_slash.rb +0 -39
  55. data/test/test_slash.rb +0 -65
  56. data/test/test_syndication.rb +0 -126
  57. data/test/test_taxonomy.rb +0 -173
  58. data/test/test_to_s.rb +0 -701
  59. data/test/test_trackback.rb +0 -136
  60. data/test/test_xml-stylesheet.rb +0 -109
@@ -1,136 +0,0 @@
1
- # frozen_string_literal: false
2
- require "cgi"
3
- require "rexml/document"
4
-
5
- require_relative "rss-testcase"
6
-
7
- require "rss/1.0"
8
- require "rss/2.0"
9
- require "rss/trackback"
10
-
11
- module RSS
12
- class TestTrackBack < TestCase
13
-
14
- def setup
15
- @prefix = "trackback"
16
- @uri = "http://madskills.com/public/xml/rss/module/trackback/"
17
-
18
- @parents = %w(item)
19
-
20
- @elems = {
21
- :ping => "http://bar.com/tb.cgi?tb_id=rssplustrackback",
22
- :about => "http://foo.com/trackback/tb.cgi?tb_id=20020923",
23
- }
24
-
25
- @content_nodes = @elems.collect do |name, value|
26
- "<#{@prefix}:#{name} rdf:resource=\"#{CGI.escapeHTML(value.to_s)}\"/>"
27
- end.join("\n")
28
-
29
- @content_nodes2 = @elems.collect do |name, value|
30
- "<#{@prefix}:#{name}>#{CGI.escapeHTML(value.to_s)}</#{@prefix}:#{name}>"
31
- end.join("\n")
32
-
33
- @rss_source = make_RDF(<<-EOR, {@prefix => @uri})
34
- #{make_channel()}
35
- #{make_image()}
36
- #{make_item(@content_nodes)}
37
- #{make_textinput()}
38
- EOR
39
-
40
- @rss = Parser.parse(@rss_source)
41
-
42
- @rss20_source = make_rss20(nil, {@prefix => @uri}) do
43
- make_channel20(nil) do
44
- make_item20(@content_nodes2)
45
- end
46
- end
47
-
48
- @rss20 = Parser.parse(@rss20_source, false)
49
- end
50
-
51
- def test_parser
52
-
53
- assert_nothing_raised do
54
- Parser.parse(@rss_source)
55
- end
56
-
57
- @elems.find_all{|k, v| k == :ping}.each do |tag, value|
58
- assert_too_much_tag(tag.to_s, "item") do
59
- Parser.parse(make_RDF(<<-EOR, {@prefix => @uri}))
60
- #{make_channel()}
61
- #{make_item(("<" + @prefix + ":" + tag.to_s + " rdf:resource=\"" +
62
- CGI.escapeHTML(value.to_s) +
63
- "\"/>") * 2)}
64
- EOR
65
- end
66
- end
67
-
68
- @elems.find_all{|k, v| k == :about}.each do |tag, value|
69
- assert_missing_tag("trackback:ping", "item") do
70
- Parser.parse(make_RDF(<<-EOR, {@prefix => @uri}))
71
- #{make_channel()}
72
- #{make_item(("<" + @prefix + ":" + tag.to_s + " rdf:resource=\"" +
73
- CGI.escapeHTML(value.to_s) +
74
- "\"/>") * 2)}
75
- EOR
76
- end
77
-
78
- end
79
-
80
- end
81
-
82
- def test_accessor
83
-
84
- new_value = {
85
- :ping => "http://baz.com/trackback/tb.cgi?tb_id=20030808",
86
- :about => "http://hoge.com/trackback/tb.cgi?tb_id=90030808",
87
- }
88
-
89
- @elems.each do |name, value|
90
- @parents.each do |parent|
91
- accessor = "#{RSS::TRACKBACK_PREFIX}_#{name}"
92
- target = @rss.__send__(parent)
93
- target20 = @rss20.channel.__send__(parent, -1)
94
- assert_equal(value, target.__send__(accessor))
95
- assert_equal(value, target20.__send__(accessor))
96
- if name == :about
97
- # abount is zero or more
98
- target.__send__("#{accessor}=", 0, new_value[name].to_s)
99
- target20.__send__("#{accessor}=", 0, new_value[name].to_s)
100
- else
101
- target.__send__("#{accessor}=", new_value[name].to_s)
102
- target20.__send__("#{accessor}=", new_value[name].to_s)
103
- end
104
- assert_equal(new_value[name], target.__send__(accessor))
105
- assert_equal(new_value[name], target20.__send__(accessor))
106
- end
107
- end
108
-
109
- end
110
-
111
- def test_to_s
112
-
113
- @elems.each do |name, value|
114
- excepted = %Q!<#{@prefix}:#{name} rdf:resource="#{CGI.escapeHTML(value)}"/>!
115
- @parents.each do |parent|
116
- meth = "#{RSS::TRACKBACK_PREFIX}_#{name}_element"
117
- meth << "s" if name == :about
118
- assert_equal(excepted, @rss.__send__(parent).__send__(meth))
119
- end
120
- end
121
-
122
- REXML::Document.new(@rss_source).root.each_element do |parent|
123
- if @parents.include?(parent.name)
124
- parent.each_element do |elem|
125
- if elem.namespace == @uri
126
- assert_equal(elem.attributes["resource"], @elems[elem.name.intern])
127
- end
128
- end
129
- end
130
- end
131
-
132
- end
133
-
134
- end
135
- end
136
-
@@ -1,109 +0,0 @@
1
- # frozen_string_literal: false
2
- require "rexml/document"
3
-
4
- require_relative "rss-testcase"
5
-
6
- require "rss/1.0"
7
- require "rss/xml-stylesheet"
8
-
9
- module RSS
10
- class TestXMLStyleSheet < TestCase
11
-
12
- def test_accessor
13
- [
14
- {:href => "a.xsl", :type => "text/xsl"},
15
- {:media => "print", :title => "FOO"},
16
- {:charset => "UTF-8", :alternate => "yes"},
17
- ].each do |attrs|
18
- assert_xml_stylesheet_attrs(attrs, XMLStyleSheet.new(attrs))
19
- end
20
- end
21
-
22
- def test_to_s
23
- [
24
- {:href => "a.xsl", :type => "text/xsl"},
25
- {:type => "text/xsl"},
26
- {:href => "a.xsl", :guess_type => "text/xsl"},
27
- {:href => "a.css", :type => "text/css"},
28
- {:href => "a.css", :type => "text/xsl",
29
- :guess_type => "text/css"},
30
- {:href => "a.xsl", :type => "text/xsl",
31
- :title => "sample", :media => "printer",
32
- :charset => "UTF-8", :alternate => "yes"},
33
- {:href => "a.css", :guess_type => "text/css",
34
- :alternate => "no"},
35
- {:type => "text/xsl", :title => "sample",
36
- :media => "printer", :charset => "UTF-8",
37
- :alternate => "yes"},
38
- ].each do |attrs|
39
- target, contents = parse_pi(XMLStyleSheet.new(attrs).to_s)
40
- assert_xml_stylesheet(target, attrs, XMLStyleSheet.new(contents))
41
- end
42
- end
43
-
44
- def test_bad_alternate
45
- %w(a ___ ??? BAD_ALTERNATE).each do |value|
46
- xss = XMLStyleSheet.new
47
- assert_raise(NotAvailableValueError) do
48
- xss.alternate = value
49
- end
50
- xss.do_validate = false
51
- assert_nothing_raised do
52
- xss.alternate = value
53
- end
54
- assert_nil(xss.alternate)
55
- end
56
- end
57
-
58
- def test_parse
59
- [
60
- [{:href => "a.xsl", :type => "text/xsl"},],
61
- [{:media => "print", :title => "FOO"},],
62
- [{:charset => "UTF-8", :alternate => "yes"},],
63
- [{:href => "a.xsl", :type => "text/xsl"},
64
- {:type => "text/xsl"},
65
- {:href => "a.xsl", :guess_type => "text/xsl"},
66
- {:href => "a.css", :type => "text/css"},
67
- {:href => "a.css", :type => "text/xsl",
68
- :guess_type => "text/css"},
69
- {:href => "a.xsl", :type => "text/xsl",
70
- :title => "sample", :media => "printer",
71
- :charset => "UTF-8", :alternate => "yes"},
72
- {:href => "a.css", :guess_type => "text/css",
73
- :alternate => "no"},
74
- {:type => "text/xsl", :title => "sample",
75
- :media => "printer", :charset => "UTF-8",
76
- :alternate => "yes"},],
77
- ].each do |xsss|
78
- doc = REXML::Document.new(make_sample_RDF)
79
- root = doc.root
80
- xsss.each do |xss|
81
- content = xss.collect do |key, name|
82
- %Q[#{key}="#{name}"]
83
- end.join(" ")
84
- pi = REXML::Instruction.new("xml-stylesheet", content)
85
- root.previous_sibling = pi
86
- end
87
- rss = Parser.parse(doc.to_s)
88
- have_href_xsss = xsss.find_all {|xss| xss.has_key?(:href)}
89
- assert_equal(have_href_xsss.size, rss.xml_stylesheets.size)
90
- rss.xml_stylesheets.each_with_index do |stylesheet, i|
91
- target, = parse_pi(stylesheet.to_s)
92
- assert_xml_stylesheet(target, have_href_xsss[i], stylesheet)
93
- end
94
- end
95
- end
96
-
97
- def parse_pi(pi)
98
- /\A\s*<\?(\S+)([^?]*\?+(?:[^?>][^?]*\?+)*)>\s*\z/ =~ pi
99
- target = $1
100
- dummy = REXML::Document.new("<dummy #{$2.to_s.chop}/>").root
101
- contents = {}
102
- dummy.attributes.each do |name, value|
103
- contents[name] = value
104
- end
105
- [target, contents]
106
- end
107
-
108
- end
109
- end