1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
kou 2004-12-08 12:58:36 +00:00
parent 67c5b057e6
commit bcf72db844
30 changed files with 1967 additions and 990 deletions

View file

@ -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
end
::RSS::XMLStyleSheet::ATTRIBUTES.each do |name|
assert_equal(normalized_attrs[name], xsl.send(name))
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_stylesheet(target, xsl, attrs)
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(n_attrs[name], xsl.send(name))
end
end
end
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,40 +140,314 @@ 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
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_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
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(elems, target)
elems.each do |name, value|
assert_equal(value, target.__send__("trackback_#{name}"))
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 normalized_attrs(attrs)
n_attrs = {}
attrs.each do |name, value|
n_attrs[name.to_s] = value
end
n_attrs
end
end
end

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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}

View file

@ -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

View file

@ -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