rss 0.2.9 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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,82 +0,0 @@
1
- # frozen_string_literal: false
2
- require_relative "rss-testcase"
3
-
4
- require "rss/maker"
5
-
6
- module RSS
7
- class TestMakerTaxonomy < TestCase
8
-
9
- def setup
10
- @uri = "http://purl.org/rss/1.0/modules/taxonomy/"
11
-
12
- @resources = [
13
- "http://meerkat.oreillynet.com/?c=cat23",
14
- "http://meerkat.oreillynet.com/?c=47",
15
- "http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/",
16
- ]
17
-
18
- @topics = [
19
- {
20
- :link => "http://meerkat.oreillynet.com/?c=cat23",
21
- :title => "Data: XML",
22
- :description => "A Meerkat channel",
23
- },
24
- {
25
- :link => "http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/",
26
- :title => "XML",
27
- :subject => "XML",
28
- :description => "DMOZ category",
29
- :topics => [
30
- "http://meerkat.oreillynet.com/?c=cat23",
31
- "http://dmoz.org/Computers/Data_Formats/Markup_Languages/SGML/",
32
- "http://dmoz.org/Computers/Programming/Internet/",
33
- ]
34
- },
35
- ]
36
- end
37
-
38
- def test_rss10
39
- rss = RSS::Maker.make("1.0") do |maker|
40
- setup_dummy_channel(maker)
41
- set_topics(maker.channel)
42
-
43
- setup_dummy_item(maker)
44
- set_topics(maker.items.last)
45
-
46
- setup_taxo_topic(maker, @topics)
47
- end
48
- assert_equal(@resources, rss.channel.taxo_topics.resources)
49
- assert_equal(@resources, rss.items.last.taxo_topics.resources)
50
- assert_taxo_topic(@topics, rss)
51
- end
52
-
53
- def _test_date
54
- t1 = Time.iso8601("2000-01-01T12:00:05+00:00")
55
- t2 = Time.iso8601("2005-01-01T12:00:05+00:00")
56
-
57
- rss = RSS::Maker.make("1.0") do |maker|
58
- setup_dummy_channel(maker)
59
- maker.channel.date = t1
60
- maker.channel.dc_dates.new_date do |date|
61
- date.value = t2
62
- end
63
-
64
- setup_dummy_item(maker)
65
- item = maker.items.last
66
- item.date = t2
67
- item.dc_dates.new_date do |date|
68
- date.value = t1
69
- end
70
- end
71
- assert_equal([t1, t2], rss.channel.dc_dates.collect{|x| x.value})
72
- assert_equal([t2, t1], rss.items.last.dc_dates.collect{|x| x.value})
73
- end
74
-
75
- private
76
- def set_topics(target, resources=@resources)
77
- resources.each do |value|
78
- target.taxo_topics << value
79
- end
80
- end
81
- end
82
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: false
2
- require_relative "rss-testcase"
3
-
4
- require "rss/maker"
5
-
6
- module RSS
7
- class TestMakerTrackBack < TestCase
8
-
9
- def setup
10
- @uri = "http://madskills.com/public/xml/rss/module/trackback/"
11
-
12
- @elements = {
13
- :ping => "http://bar.com/tb.cgi?tb_id=rssplustrackback",
14
- :abouts => [
15
- "http://foo.com/trackback/tb.cgi?tb_id=20020923",
16
- "http://bar.com/trackback/tb.cgi?tb_id=20041114",
17
- ],
18
- }
19
- end
20
-
21
- def test_rss10
22
- rss = RSS::Maker.make("1.0") do |maker|
23
- setup_dummy_channel(maker)
24
-
25
- setup_dummy_item(maker)
26
- item = maker.items.last
27
- item.trackback_ping = @elements[:ping]
28
- @elements[:abouts].each do |about|
29
- item.trackback_abouts.new_about do |new_about|
30
- new_about.value = about
31
- end
32
- end
33
- end
34
- assert_trackback(@elements, rss.items.last)
35
- end
36
-
37
- private
38
- def accessor_name(name)
39
- "trackback_#{name}"
40
- end
41
- end
42
- end
@@ -1,84 +0,0 @@
1
- # frozen_string_literal: false
2
- require_relative "rss-testcase"
3
-
4
- require "rss/maker"
5
-
6
- module RSS
7
- class TestMakerXMLStyleSheet < TestCase
8
-
9
- def test_xml_stylesheet
10
- href = 'a.xsl'
11
- type = 'text/xsl'
12
- title = 'sample'
13
- media = 'printer'
14
- charset = 'UTF-8'
15
- alternate = 'yes'
16
-
17
- rss = RSS::Maker.make("1.0") do |maker|
18
- maker.xml_stylesheets.new_xml_stylesheet do |xss|
19
- xss.href = href
20
- xss.type = type
21
- xss.title = title
22
- xss.media = media
23
- xss.charset = charset
24
- xss.alternate = alternate
25
- end
26
-
27
- setup_dummy_channel(maker)
28
- setup_dummy_item(maker)
29
- end
30
-
31
- xss = rss.xml_stylesheets.first
32
- assert_equal(href, xss.href)
33
- assert_equal(type, xss.type)
34
- assert_equal(title, xss.title)
35
- assert_equal(media, xss.media)
36
- assert_equal(charset, xss.charset)
37
- assert_equal(alternate, xss.alternate)
38
-
39
-
40
- href = 'http://example.com/index.xsl'
41
- type = 'text/xsl'
42
- rss = RSS::Maker.make("1.0") do |maker|
43
- maker.xml_stylesheets.new_xml_stylesheet do |_xss|
44
- _xss.href = href
45
- end
46
-
47
- setup_dummy_channel(maker)
48
- setup_dummy_item(maker)
49
- end
50
-
51
- xss = rss.xml_stylesheets.first
52
- assert_equal(href, xss.href)
53
- assert_equal(type, xss.type)
54
- end
55
-
56
- def test_not_valid_xml_stylesheet
57
- href = 'xss.XXX'
58
- type = "text/xsl"
59
-
60
- rss = RSS::Maker.make("1.0") do |maker|
61
- maker.xml_stylesheets.new_xml_stylesheet do |xss|
62
- # xss.href = href
63
- xss.type = type
64
- end
65
-
66
- setup_dummy_channel(maker)
67
- setup_dummy_item(maker)
68
- end
69
- assert(rss.xml_stylesheets.empty?)
70
-
71
- rss = RSS::Maker.make("1.0") do |maker|
72
- maker.xml_stylesheets.new_xml_stylesheet do |xss|
73
- xss.href = href
74
- # xss.type = type
75
- end
76
-
77
- setup_dummy_channel(maker)
78
- setup_dummy_item(maker)
79
- end
80
- assert(rss.xml_stylesheets.empty?)
81
- end
82
-
83
- end
84
- end
data/test/test_parser.rb DELETED
@@ -1,122 +0,0 @@
1
- # frozen_string_literal: false
2
- require "tempfile"
3
-
4
- require_relative "rss-testcase"
5
-
6
- require "rss/1.0"
7
- require "rss/dublincore"
8
-
9
- module RSS
10
- class TestParser < TestCase
11
- def setup
12
- @_default_parser = Parser.default_parser
13
- @rss10 = make_RDF(<<-EOR)
14
- #{make_channel}
15
- #{make_item}
16
- #{make_textinput}
17
- #{make_image}
18
- EOR
19
- @rss_tmp = Tempfile.new(%w"rss10- .rdf")
20
- @rss_tmp.print(@rss10)
21
- @rss_tmp.close
22
- @rss_file = @rss_tmp.path
23
- @rss_file.untaint if RUBY_VERSION < '2.7'
24
- end
25
-
26
- def teardown
27
- Parser.default_parser = @_default_parser
28
- @rss_tmp.close(true)
29
- end
30
-
31
- def test_default_parser
32
- assert_nothing_raised do
33
- Parser.default_parser = RSS::AVAILABLE_PARSERS.first
34
- end
35
-
36
- assert_raise(RSS::NotValidXMLParser) do
37
- Parser.default_parser = RSS::Parser
38
- end
39
- end
40
-
41
- def test_parse
42
- assert_not_nil(RSS::Parser.parse(@rss_file))
43
-
44
- garbage_rss_file = @rss_file + "-garbage"
45
- if RSS::Parser.default_parser.name == "RSS::XMLParserParser"
46
- assert_raise(RSS::NotWellFormedError) do
47
- RSS::Parser.parse(garbage_rss_file)
48
- end
49
- else
50
- assert_nil(RSS::Parser.parse(garbage_rss_file))
51
- end
52
- end
53
-
54
- def test_parse_tag_includes_hyphen
55
- assert_nothing_raised do
56
- RSS::Parser.parse(make_RDF(<<-EOR))
57
- <xCal:x-calconnect-venue xmlns:xCal="urn:ietf:params:xml:ns:xcal" />
58
- #{make_channel}
59
- #{make_item}
60
- #{make_textinput}
61
- #{make_image}
62
- EOR
63
- end
64
- end
65
-
66
- def test_parse_option_validate_nil
67
- assert_raise(RSS::MissingTagError) do
68
- RSS::Parser.parse(make_RDF(<<-RDF), :validate => nil)
69
- RDF
70
- end
71
- end
72
-
73
- def test_parse_option_validate_true
74
- assert_raise(RSS::MissingTagError) do
75
- RSS::Parser.parse(make_RDF(<<-RDF), :validate => true)
76
- RDF
77
- end
78
- end
79
-
80
- def test_parse_option_validate_false
81
- rdf = RSS::Parser.parse(make_RDF(<<-RDF), :validate => false)
82
- RDF
83
- assert_nil(rdf.channel)
84
- end
85
-
86
- def test_parse_option_ignore_unknown_element_nil
87
- assert_nothing_raised do
88
- RSS::Parser.parse(make_RDF(<<-RDF), :ignore_unknown_element => nil)
89
- <unknown/>
90
- #{make_channel}
91
- #{make_item}
92
- #{make_textinput}
93
- #{make_image}
94
- RDF
95
- end
96
- end
97
-
98
- def test_parse_option_ignore_unknown_element_true
99
- assert_nothing_raised do
100
- RSS::Parser.parse(make_RDF(<<-RDF), :ignore_unknown_element => true)
101
- <unknown/>
102
- #{make_channel}
103
- #{make_item}
104
- #{make_textinput}
105
- #{make_image}
106
- RDF
107
- end
108
- end
109
-
110
- def test_parse_option_ignore_unknown_element_false
111
- assert_raise(RSS::NotExpectedTagError) do
112
- RSS::Parser.parse(make_RDF(<<-RDF), :ignore_unknown_element => false)
113
- <unknown/>
114
- #{make_channel}
115
- #{make_item}
116
- #{make_textinput}
117
- #{make_image}
118
- RDF
119
- end
120
- end
121
- end
122
- end