mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
9be1ed43c8
* lib/rss: #to_s used #tag. * test/rss/test_to_s.rb: added. * lib/rss/maker.rb (RSS::Maker.make): changed API. It's not received modules which is used as the second argument. * lib/rss/xml-stylesheet.rb (RSS::XMLStyleSheet#alternate): changed return value type which is not String but Boolean. * lib/rss/2.0.rb (RSS::Rss::Channel#ttl): changed return value type which is not String but Integer. * lib/rss/0.9.rb (RSS::Rss::Channel): <skipDays> has <day>s and <skipHours> has <hour>s. * lib/rss/maker/0.9.rb (RSS::Maker::RSS09::Channel): ditto. * lib/rss/0.9.rb (RSS::Rss::Channel::Item): <item> has <category>s. * lib/rss/maker/2.0.rb (RSS::Maker::Rss20::Channel::Item): ditto. * lib/rss/2.0.rb (RSS::Rss::Channel): <channel> has <category>s. * lib/rss/maker/2.0.rb (RSS::Maker::RSS20::Channel): ditto. * lib/rss/trackback.rb: parent element has <trackback:about>s. * lib/rss/maker/trackback.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
71 lines
1.8 KiB
Ruby
71 lines
1.8 KiB
Ruby
require "rss-testcase"
|
|
|
|
require "rss/maker"
|
|
|
|
module RSS
|
|
class TestMakerDublinCore < TestCase
|
|
|
|
def setup
|
|
@uri = "http://purl.org/dc/elements/1.1/"
|
|
|
|
t = Time.iso8601("2000-01-01T12:00:05+00:00")
|
|
class << t
|
|
alias_method(:to_s, :iso8601)
|
|
end
|
|
|
|
@elements = {
|
|
:title => "hoge",
|
|
:description =>
|
|
" XML is placing increasingly heavy loads on
|
|
the existing technical infrastructure of the Internet.",
|
|
:creator => "Rael Dornfest (mailto:rael@oreilly.com)",
|
|
:subject => "XML",
|
|
:publisher => "The O'Reilly Network",
|
|
:contributor => "hogehoge",
|
|
:type => "fugafuga",
|
|
:format => "hohoho",
|
|
:identifier => "fufufu",
|
|
:source => "barbar",
|
|
:language => "ja",
|
|
:relation => "cococo",
|
|
:rights => "Copyright (c) 2000 O'Reilly & Associates, Inc.",
|
|
:date => t,
|
|
}
|
|
end
|
|
|
|
def test_rss10
|
|
rss = RSS::Maker.make("1.0") do |maker|
|
|
setup_dummy_channel(maker)
|
|
set_elements(maker.channel)
|
|
|
|
setup_dummy_image(maker)
|
|
set_elements(maker.image)
|
|
|
|
setup_dummy_item(maker)
|
|
item = maker.items.last
|
|
@elements.each do |name, value|
|
|
item.__send__("#{accessor_name(name)}=", value)
|
|
end
|
|
|
|
setup_dummy_textinput(maker)
|
|
set_elements(maker.textinput)
|
|
end
|
|
assert_dublin_core(@elements, rss.channel)
|
|
assert_dublin_core(@elements, rss.image)
|
|
assert_dublin_core(@elements, rss.items.last)
|
|
assert_dublin_core(@elements, rss.textinput)
|
|
end
|
|
|
|
private
|
|
def accessor_name(name)
|
|
"dc_#{name}"
|
|
end
|
|
|
|
def set_elements(target)
|
|
@elements.each do |name, value|
|
|
target.__send__("#{accessor_name(name)}=", value)
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|