summaryrefslogtreecommitdiff
path: root/test/rss
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-08 12:58:36 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-08 12:58:36 +0000
commitbcf72db844b54492aca33b068711992bd73caccf (patch)
treea54da3329420c04614c460c3b45388951a790aa2 /test/rss
parent67c5b057e692b39c801aea811c6b75b40c4b8c22 (diff)
* lib/rss, test/rss, sample/rss: backported from CVS HEAD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rss')
-rw-r--r--test/rss/rss-assertions.rb341
-rw-r--r--test/rss/test_1.0.rb5
-rw-r--r--test/rss/test_maker_0.9.rb204
-rw-r--r--test/rss/test_maker_1.0.rb84
-rw-r--r--test/rss/test_maker_2.0.rb135
-rw-r--r--test/rss/test_maker_content.rb2
-rw-r--r--test/rss/test_maker_dc.rb2
-rw-r--r--test/rss/test_maker_sy.rb2
-rw-r--r--test/rss/test_maker_trackback.rb13
-rw-r--r--test/rss/test_parser.rb12
-rw-r--r--test/rss/test_trackback.rb10
-rw-r--r--test/rss/test_xml-stylesheet.rb6
12 files changed, 575 insertions, 241 deletions
diff --git a/test/rss/rss-assertions.rb b/test/rss/rss-assertions.rb
index 6b83cbe093..569e9621d2 100644
--- a/test/rss/rss-assertions.rb
+++ b/test/rss/rss-assertions.rb
@@ -94,27 +94,44 @@ module RSS
end
end
end
-
- def assert_xml_stylesheet_attrs(xsl, attrs)
+
+ def assert_not_set_error(name, variables)
_wrap_assertion do
- normalized_attrs = {}
- attrs.each do |name, value|
- normalized_attrs[name.to_s] = value
+ begin
+ yield
+ flunk("Not raise NotSetError")
+ rescue ::RSS::NotSetError => e
+ assert_equal(name, e.name)
+ assert_equal(variables.sort, e.variables.sort)
end
+ end
+ end
+
+ def assert_xml_declaration(version, encoding, standalone, rss)
+ _wrap_assertion do
+ assert_equal(version, rss.version)
+ assert_equal(encoding, rss.encoding)
+ assert_equal(standalone, rss.standalone)
+ end
+ end
+
+ def assert_xml_stylesheet_attrs(attrs, xsl)
+ _wrap_assertion do
+ n_attrs = normalized_attrs(attrs)
::RSS::XMLStyleSheet::ATTRIBUTES.each do |name|
- assert_equal(normalized_attrs[name], xsl.send(name))
+ assert_equal(n_attrs[name], xsl.send(name))
end
end
end
- def assert_xml_stylesheet(target, xsl, attrs)
+ def assert_xml_stylesheet(target, attrs, xsl)
_wrap_assertion do
if attrs.has_key?(:href)
if !attrs.has_key?(:type) and attrs.has_key?(:guess_type)
attrs[:type] = attrs[:guess_type]
end
assert_equal("xml-stylesheet", target)
- assert_xml_stylesheet_attrs(xsl, attrs)
+ assert_xml_stylesheet_attrs(attrs, xsl)
else
assert_nil(target)
assert_equal("", xsl.to_s)
@@ -123,39 +140,313 @@ module RSS
end
def assert_xml_stylesheet_pis(attrs_ary)
- rdf = ::RSS::RDF.new()
- xss_strs = []
- attrs_ary.each do |attrs|
- xss = ::RSS::XMLStyleSheet.new(*attrs)
- xss_strs.push(xss.to_s)
- rdf.xml_stylesheets.push(xss)
+ _wrap_assertion do
+ rdf = ::RSS::RDF.new()
+ xss_strs = []
+ attrs_ary.each do |attrs|
+ xss = ::RSS::XMLStyleSheet.new(*attrs)
+ xss_strs.push(xss.to_s)
+ rdf.xml_stylesheets.push(xss)
+ end
+ pi_str = rdf.to_s.gsub(/<\?xml .*\n/, "").gsub(/\s*<rdf:RDF.*\z/m, "")
+ assert_equal(xss_strs.join("\n"), pi_str)
+ end
+ end
+
+ def assert_xml_stylesheets(attrs, xss)
+ _wrap_assertion do
+ xss.each_with_index do |xs, i|
+ assert_xml_stylesheet_attrs(attrs[i], xs)
+ end
+ end
+ end
+
+
+ def assert_channel10(attrs, channel)
+ _wrap_assertion do
+ n_attrs = normalized_attrs(attrs)
+
+ names = %w(about title link description)
+ assert_attributes(attrs, names, channel)
+
+ %w(image items textinput).each do |name|
+ value = n_attrs[name]
+ if value
+ target = channel.__send__(name)
+ __send__("assert_channel10_#{name}", value, target)
+ end
+ end
+ end
+ end
+
+ def assert_channel10_image(attrs, image)
+ _wrap_assertion do
+ assert_attributes(attrs, %w(resource), image)
+ end
+ end
+
+ def assert_channel10_textinput(attrs, textinput)
+ _wrap_assertion do
+ assert_attributes(attrs, %w(resource), textinput)
+ end
+ end
+
+ def assert_channel10_items(attrs, items)
+ _wrap_assertion do
+ items.Seq.lis.each_with_index do |li, i|
+ assert_attributes(attrs[i], %w(resource), li)
+ end
+ end
+ end
+
+ def assert_image10(attrs, image)
+ _wrap_assertion do
+ names = %w(about title url link)
+ assert_attributes(attrs, names, image)
+ end
+ end
+
+ def assert_items10(attrs, items)
+ _wrap_assertion do
+ names = %w(about title link description)
+ items.each_with_index do |item, i|
+ assert_attributes(attrs[i], names, item)
+ end
+ end
+ end
+
+ def assert_textinput10(attrs, textinput)
+ _wrap_assertion do
+ names = %w(about title description name link)
+ assert_attributes(attrs, names, textinput)
+ end
+ end
+
+
+ def assert_channel09(attrs, channel)
+ _wrap_assertion do
+ n_attrs = normalized_attrs(attrs)
+
+ names = %w(title description link language rating
+ copyright pubDate lastBuildDate docs
+ managingEditor webMaster)
+ assert_attributes(attrs, names, channel)
+
+ %w(skipHours skipDays).each do |name|
+ value = n_attrs[name]
+ if value
+ target = channel.__send__(name)
+ __send__("assert_channel09_#{name}", value, target)
+ end
+ end
+ end
+ end
+
+ def assert_channel09_skipDays(contents, skipDays)
+ _wrap_assertion do
+ days = skipDays.days
+ contents.each_with_index do |content, i|
+ assert_equal(content, days[i].content)
+ end
+ end
+ end
+
+ def assert_channel09_skipHours(contents, skipHours)
+ _wrap_assertion do
+ hours = skipHours.hours
+ contents.each_with_index do |content, i|
+ assert_equal(content, hours[i].content)
+ end
+ end
+ end
+
+ def assert_image09(attrs, image)
+ _wrap_assertion do
+ names = %w(url link title description width height)
+ assert_attributes(attrs, names, image)
+ end
+ end
+
+ def assert_items09(attrs, items)
+ _wrap_assertion do
+ names = %w(title link description)
+ items.each_with_index do |item, i|
+ assert_attributes(attrs[i], names, item)
+ end
+ end
+ end
+
+ def assert_textinput09(attrs, textinput)
+ _wrap_assertion do
+ names = %w(title description name link)
+ assert_attributes(attrs, names, textinput)
+ end
+ end
+
+
+ def assert_channel20(attrs, channel)
+ _wrap_assertion do
+ n_attrs = normalized_attrs(attrs)
+
+ names = %w(title link description language copyright
+ managingEditor webMaster pubDate
+ lastBuildDate generator docs ttl rating)
+ assert_attributes(attrs, names, channel)
+
+ %w(cloud categories skipHours skipDays).each do |name|
+ value = n_attrs[name]
+ if value
+ target = channel.__send__(name)
+ __send__("assert_channel20_#{name}", value, target)
+ end
+ end
+ end
+ end
+
+ def assert_channel20_skipDays(contents, skipDays)
+ assert_channel09_skipDays(contents, skipDays)
+ end
+
+ def assert_channel20_skipHours(contents, skipHours)
+ assert_channel09_skipHours(contents, skipHours)
+ end
+
+ def assert_channel20_cloud(attrs, cloud)
+ _wrap_assertion do
+ names = %w(domain port path registerProcedure protocol)
+ assert_attributes(attrs, names, cloud)
+ end
+ end
+
+ def assert_channel20_categories(attrs, categories)
+ _wrap_assertion do
+ names = %w(domain content)
+ categories.each_with_index do |category, i|
+ assert_attributes(attrs[i], names, category)
+ end
+ end
+ end
+
+ def assert_image20(attrs, image)
+ _wrap_assertion do
+ names = %w(url link title description width height)
+ assert_attributes(attrs, names, image)
end
- pi_str = rdf.to_s.gsub(/<\?xml .*\n/, "").gsub(/\s*<rdf:RDF.*\z/m, "")
- assert_equal(xss_strs.join("\n"), pi_str)
end
+ def assert_items20(attrs, items)
+ _wrap_assertion do
+ names = %w(about title link description)
+ items.each_with_index do |item, i|
+ assert_attributes(attrs[i], names, item)
+
+ n_attrs = normalized_attrs(attrs[i])
+
+ %w(source enclosure categories guid).each do |name|
+ value = n_attrs[name]
+ if value
+ target = item.__send__(name)
+ __send__("assert_items20_#{name}", value, target)
+ end
+ end
+ end
+ end
+ end
+
+ def assert_items20_source(attrs, source)
+ _wrap_assertion do
+ assert_attributes(attrs, %w(url content), source)
+ end
+ end
+
+ def assert_items20_enclosure(attrs, enclosure)
+ _wrap_assertion do
+ names = %w(url length type)
+ assert_attributes(attrs, names, enclosure)
+ end
+ end
+
+ def assert_items20_categories(attrs, categories)
+ _wrap_assertion do
+ assert_channel20_categories(attrs, categories)
+ end
+ end
+
+ def assert_items20_guid(attrs, guid)
+ _wrap_assertion do
+ assert_attributes(attrs, %w(isPermaLink content), guid)
+ end
+ end
+
+ def assert_textinput20(attrs, textinput)
+ _wrap_assertion do
+ names = %w(title description name link)
+ assert_attributes(attrs, names, textinput)
+ end
+ end
+
+
def assert_dublin_core(elems, target)
- elems.each do |name, value|
- assert_equal(value, target.__send__("dc_#{name}"))
+ _wrap_assertion do
+ elems.each do |name, value|
+ assert_equal(value, target.__send__("dc_#{name}"))
+ end
end
end
def assert_syndication(elems, target)
- elems.each do |name, value|
- assert_equal(value, target.__send__("sy_#{name}"))
+ _wrap_assertion do
+ elems.each do |name, value|
+ assert_equal(value, target.__send__("sy_#{name}"))
+ end
end
end
def assert_content(elems, target)
- elems.each do |name, value|
- assert_equal(value, target.__send__("content_#{name}"))
+ _wrap_assertion do
+ elems.each do |name, value|
+ assert_equal(value, target.__send__("content_#{name}"))
+ end
+ end
+ end
+
+ def assert_trackback(attrs, target)
+ _wrap_assertion do
+ n_attrs = normalized_attrs(attrs)
+ if n_attrs["ping"]
+ assert_equal(n_attrs["ping"], target.trackback_ping)
+ end
+ if n_attrs["abouts"]
+ n_attrs["abouts"].each_with_index do |about, i|
+ assert_equal(about, target.trackback_abouts[i].value)
+ end
+ end
+ end
+ end
+
+
+ def assert_attributes(attrs, names, target)
+ _wrap_assertion do
+ n_attrs = normalized_attrs(attrs)
+ names.each do |name|
+ value = n_attrs[name]
+ if value.is_a?(Time)
+ actual = target.__send__(name)
+ assert_instance_of(Time, actual)
+ assert_equal(value.to_i, actual.to_i)
+ elsif value
+ assert_equal(value, target.__send__(name))
+ end
+ end
end
end
- def assert_trackback(elems, target)
- elems.each do |name, value|
- assert_equal(value, target.__send__("trackback_#{name}"))
+ def normalized_attrs(attrs)
+ n_attrs = {}
+ attrs.each do |name, value|
+ n_attrs[name.to_s] = value
end
+ n_attrs
end
end
diff --git a/test/rss/test_1.0.rb b/test/rss/test_1.0.rb
index e6a81af2bd..c37bd84616 100644
--- a/test/rss/test_1.0.rb
+++ b/test/rss/test_1.0.rb
@@ -19,7 +19,7 @@ module RSS
version = "1.0"
encoding = "UTF-8"
- standalone = "no"
+ standalone = false
rdf = RDF.new(version, encoding, standalone)
@@ -27,9 +27,10 @@ module RSS
xmldecl = doc.xml_decl
- %w(version encoding standalone).each do |x|
+ %w(version encoding).each do |x|
assert_equal(instance_eval(x), xmldecl.send(x))
end
+ assert_equal(standalone, !xmldecl.standalone.nil?)
assert_equal(@rdf_uri, doc.root.namespace)
diff --git a/test/rss/test_maker_0.9.rb b/test/rss/test_maker_0.9.rb
index df8cd5fe11..50c311ad94 100644
--- a/test/rss/test_maker_0.9.rb
+++ b/test/rss/test_maker_0.9.rb
@@ -6,36 +6,38 @@ module RSS
class TestMaker09 < TestCase
def test_rss
- rss = RSS::Maker.make("0.9")
+ rss = RSS::Maker.make("0.91")
assert_nil(rss)
rss = RSS::Maker.make("0.9") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
end
assert_equal("0.91", rss.rss_version)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
+ setup_dummy_channel(maker)
+ end
+ assert_equal("0.91", rss.rss_version)
+
+
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.encoding = "EUC-JP"
end
assert_equal("0.91", rss.rss_version)
assert_equal("EUC-JP", rss.encoding)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.standalone = "yes"
end
assert_equal("0.91", rss.rss_version)
assert_equal("yes", rss.standalone)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.encoding = "EUC-JP"
maker.standalone = "yes"
@@ -55,12 +57,18 @@ module RSS
webMaster = "web master"
rating = "6"
docs = "http://foo.com/doc"
- skipDays = "Sunday"
- skipHours = "13"
+ skipDays = [
+ "Sunday",
+ "Monday",
+ ]
+ skipHours = [
+ 0,
+ 13,
+ ]
pubDate = Time.now
lastBuildDate = Time.now
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
maker.channel.title = title
maker.channel.link = link
maker.channel.description = description
@@ -70,12 +78,17 @@ module RSS
maker.channel.webMaster = webMaster
maker.channel.rating = rating
maker.channel.docs = docs
- maker.channel.skipDays = skipDays
- maker.channel.skipHours = skipHours
maker.channel.pubDate = pubDate
maker.channel.lastBuildDate = lastBuildDate
- setup_dummy_image(maker)
+ skipDays.each do |day|
+ new_day = maker.channel.skipDays.new_day
+ new_day.content = day
+ end
+ skipHours.each do |hour|
+ new_hour = maker.channel.skipHours.new_hour
+ new_hour.content = hour
+ end
end
channel = rss.channel
@@ -88,13 +101,18 @@ module RSS
assert_equal(webMaster, channel.webMaster)
assert_equal(rating, channel.rating)
assert_equal(docs, channel.docs)
- assert_equal(skipDays, channel.skipDays)
- assert_equal(skipHours, channel.skipHours)
assert_equal(pubDate, channel.pubDate)
assert_equal(lastBuildDate, channel.lastBuildDate)
+ skipDays.each_with_index do |day, i|
+ assert_equal(day, channel.skipDays.days[i].content)
+ end
+ skipHours.each_with_index do |hour, i|
+ assert_equal(hour, channel.skipHours.hours[i].content)
+ end
+
assert(channel.items.empty?)
- assert_not_nil(channel.image)
+ assert_nil(channel.image)
assert_nil(channel.textInput)
end
@@ -103,57 +121,43 @@ module RSS
link = "http://hoge.com"
description = "fugafugafugafuga"
language = "ja"
-
- rss = RSS::Maker.make("0.9") do |maker|
- # setup_dummy_image(maker)
-
- maker.channel.title = title
- maker.channel.link = link
- maker.channel.description = description
- maker.channel.language = language
- end
- assert_nil(rss)
- rss = RSS::Maker.make("0.9") do |maker|
- setup_dummy_image(maker)
-
- # maker.channel.title = title
- maker.channel.link = link
- maker.channel.description = description
- maker.channel.language = language
+ assert_not_set_error("maker.channel", %w(title)) do
+ RSS::Maker.make("0.91") do |maker|
+ # maker.channel.title = title
+ maker.channel.link = link
+ maker.channel.description = description
+ maker.channel.language = language
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("0.9") do |maker|
- setup_dummy_image(maker)
-
- maker.channel.title = title
- # maker.channel.link = link
- maker.channel.link = nil
- maker.channel.description = description
- maker.channel.language = language
+ assert_not_set_error("maker.channel", %w(link)) do
+ RSS::Maker.make("0.91") do |maker|
+ maker.channel.title = title
+ # maker.channel.link = link
+ maker.channel.link = nil
+ maker.channel.description = description
+ maker.channel.language = language
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("0.9") do |maker|
- setup_dummy_image(maker)
-
- maker.channel.title = title
- maker.channel.link = link
- # maker.channel.description = description
- maker.channel.language = language
+ assert_not_set_error("maker.channel", %w(description)) do
+ RSS::Maker.make("0.91") do |maker|
+ maker.channel.title = title
+ maker.channel.link = link
+ # maker.channel.description = description
+ maker.channel.language = language
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("0.9") do |maker|
- setup_dummy_image(maker)
-
- maker.channel.title = title
- maker.channel.link = link
- maker.channel.description = description
- # maker.channel.language = language
+ assert_not_set_error("maker.channel", %w(language)) do
+ RSS::Maker.make("0.91") do |maker|
+ maker.channel.title = title
+ maker.channel.link = link
+ maker.channel.description = description
+ # maker.channel.language = language
+ end
end
- assert_nil(rss)
end
def test_image
@@ -164,7 +168,7 @@ module RSS
height = 400
description = "an image"
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
maker.channel.link = link
@@ -182,17 +186,18 @@ module RSS
assert_equal(height, image.height)
assert_equal(description, image.description)
- rss = RSS::Maker.make("0.9") do |maker|
- # setup_dummy_channel(maker)
- maker.channel.link = link
+ assert_not_set_error("maker.channel", %w(description title language)) do
+ RSS::Maker.make("0.91") do |maker|
+ # setup_dummy_channel(maker)
+ maker.channel.link = link
- maker.image.title = title
- maker.image.url = url
- maker.image.width = width
- maker.image.height = height
- maker.image.description = description
+ maker.image.title = title
+ maker.image.url = url
+ maker.image.width = width
+ maker.image.height = height
+ maker.image.description = description
+ end
end
- assert_nil(rss)
end
def test_not_valid_image
@@ -203,7 +208,7 @@ module RSS
height = 400
description = "an image"
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
maker.channel.link = link
@@ -213,22 +218,23 @@ module RSS
maker.image.height = height
maker.image.description = description
end
- assert_nil(rss)
+ assert_nil(rss.channel.image)
- rss = RSS::Maker.make("0.9") do |maker|
- setup_dummy_channel(maker)
- # maker.channel.link = link
- maker.channel.link = nil
+ assert_not_set_error("maker.channel", %w(link)) do
+ RSS::Maker.make("0.91") do |maker|
+ setup_dummy_channel(maker)
+ # maker.channel.link = link
+ maker.channel.link = nil
- maker.image.title = title
- maker.image.url = url
- maker.image.width = width
- maker.image.height = height
- maker.image.description = description
+ maker.image.title = title
+ maker.image.url = url
+ maker.image.width = width
+ maker.image.height = height
+ maker.image.description = description
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
maker.channel.link = link
@@ -238,7 +244,7 @@ module RSS
maker.image.height = height
maker.image.description = description
end
- assert_nil(rss)
+ assert_nil(rss.channel.image)
end
def test_items
@@ -246,15 +252,13 @@ module RSS
link = "http://hoge.com/"
description = "text hoge fuga"
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
end
assert(rss.channel.items.empty?)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
item = maker.items.new_item
item.title = title
@@ -269,9 +273,8 @@ module RSS
item_size = 5
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
item_size.times do |i|
item = maker.items.new_item
@@ -288,9 +291,8 @@ module RSS
assert_equal("#{description}#{i}", item.description)
end
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
item_size.times do |i|
item = maker.items.new_item
@@ -316,9 +318,8 @@ module RSS
name = "hoge"
link = "http://hoge.com"
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.textinput.title = title
maker.textinput.description = description
@@ -331,9 +332,8 @@ module RSS
assert_equal(name, textInput.name)
assert_equal(link, textInput.link)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
# setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.textinput.title = title
maker.textinput.description = description
@@ -349,9 +349,8 @@ module RSS
name = "hoge"
link = "http://hoge.com"
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
# maker.textinput.title = title
maker.textinput.description = description
@@ -360,9 +359,8 @@ module RSS
end
assert_nil(rss.channel.textInput)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.textinput.title = title
# maker.textinput.description = description
@@ -371,9 +369,8 @@ module RSS
end
assert_nil(rss.channel.textInput)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.textinput.title = title
maker.textinput.description = description
@@ -382,9 +379,8 @@ module RSS
end
assert_nil(rss.channel.textInput)
- rss = RSS::Maker.make("0.9") do |maker|
+ rss = RSS::Maker.make("0.91") do |maker|
setup_dummy_channel(maker)
- setup_dummy_image(maker)
maker.textinput.title = title
maker.textinput.description = description
diff --git a/test/rss/test_maker_1.0.rb b/test/rss/test_maker_1.0.rb
index 8f80f6e2fe..1fa86662e1 100644
--- a/test/rss/test_maker_1.0.rb
+++ b/test/rss/test_maker_1.0.rb
@@ -85,37 +85,41 @@ module RSS
link = "http://hoge.com"
description = "fugafugafugafuga"
- rss = RSS::Maker.make("1.0") do |maker|
- # maker.channel.about = about
- maker.channel.title = title
- maker.channel.link = link
- maker.channel.description = description
+ assert_not_set_error("maker.channel", %w(about)) do
+ RSS::Maker.make("1.0") do |maker|
+ # maker.channel.about = about
+ maker.channel.title = title
+ maker.channel.link = link
+ maker.channel.description = description
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("1.0") do |maker|
- maker.channel.about = about
- # maker.channel.title = title
- maker.channel.link = link
- maker.channel.description = description
+ assert_not_set_error("maker.channel", %w(title)) do
+ RSS::Maker.make("1.0") do |maker|
+ maker.channel.about = about
+ # maker.channel.title = title
+ maker.channel.link = link
+ maker.channel.description = description
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("1.0") do |maker|
- maker.channel.about = about
- maker.channel.title = title
- # maker.channel.link = link
- maker.channel.description = description
+ assert_not_set_error("maker.channel", %w(link)) do
+ RSS::Maker.make("1.0") do |maker|
+ maker.channel.about = about
+ maker.channel.title = title
+ # maker.channel.link = link
+ maker.channel.description = description
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("1.0") do |maker|
- maker.channel.about = about
- maker.channel.title = title
- maker.channel.link = link
- # maker.channel.description = description
+ assert_not_set_error("maker.channel", %w(description)) do
+ RSS::Maker.make("1.0") do |maker|
+ maker.channel.about = about
+ maker.channel.title = title
+ maker.channel.link = link
+ # maker.channel.description = description
+ end
end
- assert_nil(rss)
end
@@ -138,14 +142,15 @@ module RSS
assert_equal(link, image.link)
assert_equal(url, image.url)
- rss = RSS::Maker.make("1.0") do |maker|
- # setup_dummy_channel(maker)
- maker.channel.link = link
-
- maker.image.title = title
- maker.image.url = url
+ assert_not_set_error("maker.channel", %w(about title description)) do
+ RSS::Maker.make("1.0") do |maker|
+ # setup_dummy_channel(maker)
+ maker.channel.link = link
+
+ maker.image.title = title
+ maker.image.url = url
+ end
end
- assert_nil(rss)
end
def test_not_valid_image
@@ -173,15 +178,16 @@ module RSS
assert_nil(rss.channel.image)
assert_nil(rss.image)
- rss = RSS::Maker.make("1.0") do |maker|
- setup_dummy_channel(maker)
- # maker.channel.link = link
- maker.channel.link = nil
-
- maker.image.url = url
- maker.image.title = title
+ assert_not_set_error("maker.channel", %w(link)) do
+ RSS::Maker.make("1.0") do |maker|
+ setup_dummy_channel(maker)
+ # maker.channel.link = link
+ maker.channel.link = nil
+
+ maker.image.url = url
+ maker.image.title = title
+ end
end
- assert_nil(rss)
end
def test_items
diff --git a/test/rss/test_maker_2.0.rb b/test/rss/test_maker_2.0.rb
index b0752f985f..e2d5e32280 100644
--- a/test/rss/test_maker_2.0.rb
+++ b/test/rss/test_maker_2.0.rb
@@ -51,11 +51,20 @@ module RSS
webMaster = "web master"
rating = "6"
docs = "http://foo.com/doc"
- skipDays = "Sunday"
- skipHours = "13"
+ skipDays = [
+ "Sunday",
+ "Monday",
+ ]
+ skipHours = [
+ 0,
+ 13,
+ ]
pubDate = Time.now
lastBuildDate = Time.now
- category = "Nespapers"
+ categories = [
+ "Nespapers",
+ "misc",
+ ]
generator = "RSS Maker"
ttl = 60
@@ -69,11 +78,23 @@ module RSS
maker.channel.webMaster = webMaster
maker.channel.rating = rating
maker.channel.docs = docs
- maker.channel.skipDays = skipDays
- maker.channel.skipHours = skipHours
maker.channel.pubDate = pubDate
maker.channel.lastBuildDate = lastBuildDate
- maker.channel.category = category
+
+ skipDays.each do |day|
+ new_day = maker.channel.skipDays.new_day
+ new_day.content = day
+ end
+ skipHours.each do |hour|
+ new_hour = maker.channel.skipHours.new_hour
+ new_hour.content = hour
+ end
+
+ categories.each do |category|
+ new_category = maker.channel.categories.new_category
+ new_category.content = category
+ end
+
maker.channel.generator = generator
maker.channel.ttl = ttl
end
@@ -88,11 +109,20 @@ module RSS
assert_equal(webMaster, channel.webMaster)
assert_equal(rating, channel.rating)
assert_equal(docs, channel.docs)
- assert_equal(skipDays, channel.skipDays)
- assert_equal(skipHours, channel.skipHours)
assert_equal(pubDate, channel.pubDate)
assert_equal(lastBuildDate, channel.lastBuildDate)
- assert_equal(category, channel.category)
+
+ skipDays.each_with_index do |day, i|
+ assert_equal(day, channel.skipDays.days[i].content)
+ end
+ skipHours.each_with_index do |hour, i|
+ assert_equal(hour, channel.skipHours.hours[i].content)
+ end
+
+ channel.categories.each_with_index do |category, i|
+ assert_equal(categories[i], category.content)
+ end
+
assert_equal(generator, channel.generator)
assert_equal(ttl, channel.ttl)
@@ -107,29 +137,32 @@ module RSS
description = "fugafugafugafuga"
language = "ja"
- rss = RSS::Maker.make("2.0") do |maker|
- # maker.channel.title = title
- maker.channel.link = link
- maker.channel.description = description
- maker.channel.language = language
+ assert_not_set_error("maker.channel", %w(title)) do
+ RSS::Maker.make("2.0") do |maker|
+ # maker.channel.title = title
+ maker.channel.link = link
+ maker.channel.description = description
+ maker.channel.language = language
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("2.0") do |maker|
- maker.channel.title = title
- # maker.channel.link = link
- maker.channel.description = description
- maker.channel.language = language
+ assert_not_set_error("maker.channel", %w(link)) do
+ RSS::Maker.make("2.0") do |maker|
+ maker.channel.title = title
+ # maker.channel.link = link
+ maker.channel.description = description
+ maker.channel.language = language
+ end
end
- assert_nil(rss)
- rss = RSS::Maker.make("2.0") do |maker|
- maker.channel.title = title
- maker.channel.link = link
- # maker.channel.description = description
- maker.channel.language = language
+ assert_not_set_error("maker.channel", %w(description)) do
+ RSS::Maker.make("2.0") do |maker|
+ maker.channel.title = title
+ maker.channel.link = link
+ # maker.channel.description = description
+ maker.channel.language = language
+ end
end
- assert_nil(rss)
rss = RSS::Maker.make("2.0") do |maker|
maker.channel.title = title
@@ -255,17 +288,18 @@ module RSS
assert_equal(height, image.height)
assert_equal(description, image.description)
- rss = RSS::Maker.make("2.0") do |maker|
- # setup_dummy_channel(maker)
- maker.channel.link = link
+ assert_not_set_error("maker.channel", %w(title description)) do
+ RSS::Maker.make("2.0") do |maker|
+ # setup_dummy_channel(maker)
+ maker.channel.link = link
- maker.image.title = title
- maker.image.url = url
- maker.image.width = width
- maker.image.height = height
- maker.image.description = description
+ maker.image.title = title
+ maker.image.url = url
+ maker.image.width = width
+ maker.image.height = height
+ maker.image.description = description
+ end
end
- assert_nil(rss)
end
def test_not_valid_image
@@ -288,18 +322,19 @@ module RSS
end
assert_nil(rss.image)
- rss = RSS::Maker.make("2.0") do |maker|
- setup_dummy_channel(maker)
- # maker.channel.link = link
- maker.channel.link = nil
+ assert_not_set_error("maker.channel", %w(link)) do
+ RSS::Maker.make("2.0") do |maker|
+ setup_dummy_channel(maker)
+ # maker.channel.link = link
+ maker.channel.link = nil
- maker.image.title = title
- maker.image.url = url
- maker.image.width = width
- maker.image.height = height
- maker.image.description = description
+ maker.image.title = title
+ maker.image.url = url
+ maker.image.width = width
+ maker.image.height = height
+ maker.image.description = description
+ end
end
- assert_nil(rss)
rss = RSS::Maker.make("2.0") do |maker|
setup_dummy_channel(maker)
@@ -519,11 +554,11 @@ module RSS
setup_dummy_channel(maker)
setup_dummy_item(maker)
- category = maker.items.last.category
+ category = maker.items.last.categories.new_category
category.domain = domain
category.content = content
end
- category = rss.channel.items.last.category
+ category = rss.channel.items.last.categories.last
assert_equal(domain, category.domain)
assert_equal(content, category.content)
end
@@ -535,10 +570,10 @@ module RSS
setup_dummy_channel(maker)
setup_dummy_item(maker)
- category = maker.items.last.category
+ category = maker.items.last.categories.new_category
# category.content = content
end
- assert_nil(rss.channel.items.last.category)
+ assert(rss.channel.items.last.categories.empty?)
end
def test_textInput
diff --git a/test/rss/test_maker_content.rb b/test/rss/test_maker_content.rb
index faadd87131..c29d75a649 100644
--- a/test/rss/test_maker_content.rb
+++ b/test/rss/test_maker_content.rb
@@ -14,7 +14,7 @@ module RSS
end
def test_rss10
- rss = RSS::Maker.make("1.0", ["content"]) do |maker|
+ rss = RSS::Maker.make("1.0") do |maker|
setup_dummy_channel(maker)
setup_dummy_item(maker)
diff --git a/test/rss/test_maker_dc.rb b/test/rss/test_maker_dc.rb
index 512622d29f..0a4a4d42cf 100644
--- a/test/rss/test_maker_dc.rb
+++ b/test/rss/test_maker_dc.rb
@@ -34,7 +34,7 @@ module RSS
end
def test_rss10
- rss = RSS::Maker.make("1.0", ["dublincore"]) do |maker|
+ rss = RSS::Maker.make("1.0") do |maker|
setup_dummy_channel(maker)
set_elements(maker.channel)
diff --git a/test/rss/test_maker_sy.rb b/test/rss/test_maker_sy.rb
index c41ec1d310..58e95d917a 100644
--- a/test/rss/test_maker_sy.rb
+++ b/test/rss/test_maker_sy.rb
@@ -21,7 +21,7 @@ module RSS
end
def test_rss10
- rss = RSS::Maker.make("1.0", ["syndication"]) do |maker|
+ rss = RSS::Maker.make("1.0") do |maker|
setup_dummy_channel(maker)
set_elements(maker.channel)
end
diff --git a/test/rss/test_maker_trackback.rb b/test/rss/test_maker_trackback.rb
index bffa60e963..e90bb600a3 100644
--- a/test/rss/test_maker_trackback.rb
+++ b/test/rss/test_maker_trackback.rb
@@ -10,18 +10,23 @@ module RSS
@elements = {
:ping => "http://bar.com/tb.cgi?tb_id=rssplustrackback",
- :about => "http://foo.com/trackback/tb.cgi?tb_id=20020923",
+ :abouts => [
+ "http://foo.com/trackback/tb.cgi?tb_id=20020923",
+ "http://bar.com/trackback/tb.cgi?tb_id=20041114",
+ ],
}
end
def test_rss10
- rss = RSS::Maker.make("1.0", ["trackback"]) do |maker|
+ rss = RSS::Maker.make("1.0") do |maker|
setup_dummy_channel(maker)
setup_dummy_item(maker)
item = maker.items.last
- @elements.each do |name, value|
- item.__send__("#{accessor_name(name)}=", value)
+ item.trackback_ping = @elements[:ping]
+ @elements[:abouts].each do |about|
+ new_about = item.trackback_abouts.new_about
+ new_about.value = about
end
end
assert_trackback(@elements, rss.items.last)
diff --git a/test/rss/test_parser.rb b/test/rss/test_parser.rb
index de4894997f..019030bcce 100644
--- a/test/rss/test_parser.rb
+++ b/test/rss/test_parser.rb
@@ -116,7 +116,7 @@ EOR
def test_channel
- assert_parse(make_RDF(<<-EOR), :missing_attribute, "channel", "about")
+ assert_parse(make_RDF(<<-EOR), :missing_attribute, "channel", "rdf:about")
<channel />
EOR
@@ -145,7 +145,7 @@ EOR
</channel>
EOR
- assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "resource")
+ assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "rdf:resource")
<channel rdf:about="http://example.com/">
<title>hoge</title>
<link>http://example.com/</link>
@@ -194,7 +194,7 @@ EOR
</channel>
EOR
- assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "resource")
+ assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "rdf:resource")
<channel rdf:about="http://example.com/">
<title>hoge</title>
<link>http://example.com/</link>
@@ -257,7 +257,7 @@ EOR
def test_image
- assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "about")
+ assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "rdf:about")
#{make_channel}
<image>
</image>
@@ -314,7 +314,7 @@ EOR
def test_item
- assert_parse(make_RDF(<<-EOR), :missing_attribute, "item", "about")
+ assert_parse(make_RDF(<<-EOR), :missing_attribute, "item", "rdf:about")
#{make_channel}
#{make_image}
<item>
@@ -371,7 +371,7 @@ EOR
def test_textinput
- assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "about")
+ assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "rdf:about")
#{make_channel}
#{make_image}
#{make_item}
diff --git a/test/rss/test_trackback.rb b/test/rss/test_trackback.rb
index bfe39d005b..a3f023e887 100644
--- a/test/rss/test_trackback.rb
+++ b/test/rss/test_trackback.rb
@@ -88,19 +88,19 @@ EOR
@elems.each do |name, value|
@parents.each do |parent|
accessor = "#{RSS::TRACKBACK_PREFIX}_#{name}"
- target_accessor = "resource"
- target = @rss.send(parent).send(accessor)
+ target = @rss.send(parent)
target20 = @rss20.channel.send(parent, -1)
- assert_equal(value, target.send(target_accessor))
+ assert_equal(value, target.send(accessor))
assert_equal(value, target20.send(accessor))
- target.send("#{target_accessor}=", new_value[name].to_s)
if name == :about
# abount is zero or more
+ target.send("#{accessor}=", 0, new_value[name].to_s)
target20.send("#{accessor}=", 0, new_value[name].to_s)
else
+ target.send("#{accessor}=", new_value[name].to_s)
target20.send("#{accessor}=", new_value[name].to_s)
end
- assert_equal(new_value[name], target.send(target_accessor))
+ assert_equal(new_value[name], target.send(accessor))
assert_equal(new_value[name], target20.send(accessor))
end
end
diff --git a/test/rss/test_xml-stylesheet.rb b/test/rss/test_xml-stylesheet.rb
index ab16d6e2ff..c88a858f56 100644
--- a/test/rss/test_xml-stylesheet.rb
+++ b/test/rss/test_xml-stylesheet.rb
@@ -14,7 +14,7 @@ module RSS
{:media => "print", :title => "FOO"},
{:charset => "UTF-8", :alternate => "yes"},
].each do |attrs|
- assert_xml_stylesheet_attrs(XMLStyleSheet.new(*attrs), attrs)
+ assert_xml_stylesheet_attrs(attrs, XMLStyleSheet.new(*attrs))
end
end
@@ -36,7 +36,7 @@ module RSS
:alternate => "yes"},
].each do |attrs|
target, contents = parse_pi(XMLStyleSheet.new(*attrs).to_s)
- assert_xml_stylesheet(target, XMLStyleSheet.new(*contents), attrs)
+ assert_xml_stylesheet(target, attrs, XMLStyleSheet.new(*contents))
end
end
@@ -88,7 +88,7 @@ module RSS
assert_equal(have_href_xsss.size, rss.xml_stylesheets.size)
rss.xml_stylesheets.each_with_index do |stylesheet, i|
target, = parse_pi(stylesheet.to_s)
- assert_xml_stylesheet(target, stylesheet, have_href_xsss[i])
+ assert_xml_stylesheet(target, have_href_xsss[i], stylesheet)
end
end
end