mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
4ef7ec62ca
Maker. * lib/rss/taxonomy.rb: supported RSS Maker. * lib/rss/maker.rb: added taxonomy module support. * lib/rss/rss.rb: adjusted to other element API. * lib/rss/1.0.rb: adjusted to other element API but backward compatibility is reserved. * lib/rss/0.9.rb: ditto. * test/rss/test_maker_taxo.rb: added test case for taxonomy module for RSS Maker. * test/rss/test_setup_maker_1.0.rb: added tests for taxo:topic. * test/rss/test_setup_maker_1.0.rb: added backward compatibility test. * test/rss/test_setup_maker_0.9.rb: ditto. * test/rss/test_setup_maker_2.0.rb: ditto. * test/rss/rss-testcase.rb: added convenience method for setting up taxo:topic. * test/rss/rss-assertions.rb: added assertion for taxo:topic. * sample/rss/blend.rb: followed new API. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
79 lines
2.2 KiB
Ruby
79 lines
2.2 KiB
Ruby
require "rss-testcase"
|
|
|
|
require "rss/maker"
|
|
|
|
module RSS
|
|
class TestMakerTaxonomy < TestCase
|
|
|
|
def setup
|
|
@uri = "http://purl.org/rss/1.0/modules/taxonomy/"
|
|
|
|
@resources = [
|
|
"http://meerkat.oreillynet.com/?c=cat23",
|
|
"http://meerkat.oreillynet.com/?c=47",
|
|
"http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/",
|
|
]
|
|
|
|
@topics = [
|
|
{
|
|
:link => "http://meerkat.oreillynet.com/?c=cat23",
|
|
:title => "Data: XML",
|
|
:description => "A Meerkat channel",
|
|
},
|
|
{
|
|
:link => "http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/",
|
|
:title => "XML",
|
|
:subject => "XML",
|
|
:description => "DMOZ category",
|
|
:topics => [
|
|
"http://meerkat.oreillynet.com/?c=cat23",
|
|
"http://dmoz.org/Computers/Data_Formats/Markup_Languages/SGML/",
|
|
"http://dmoz.org/Computers/Programming/Internet/",
|
|
]
|
|
},
|
|
]
|
|
end
|
|
|
|
def test_rss10
|
|
rss = RSS::Maker.make("1.0") do |maker|
|
|
setup_dummy_channel(maker)
|
|
set_topics(maker.channel)
|
|
|
|
setup_dummy_item(maker)
|
|
set_topics(maker.items.last)
|
|
|
|
setup_taxo_topic(maker, @topics)
|
|
end
|
|
assert_equal(@resources, rss.channel.taxo_topics.resources)
|
|
assert_equal(@resources, rss.items.last.taxo_topics.resources)
|
|
assert_taxo_topic(@topics, rss)
|
|
end
|
|
|
|
def _test_date
|
|
t1 = Time.iso8601("2000-01-01T12:00:05+00:00")
|
|
t2 = Time.iso8601("2005-01-01T12:00:05+00:00")
|
|
|
|
rss = RSS::Maker.make("1.0") do |maker|
|
|
setup_dummy_channel(maker)
|
|
maker.channel.date = t1
|
|
date = maker.channel.dc_dates.new_date
|
|
date.value = t2
|
|
|
|
setup_dummy_item(maker)
|
|
item = maker.items.last
|
|
item.date = t2
|
|
date = item.dc_dates.new_date
|
|
date.value = t1
|
|
end
|
|
assert_equal([t1, t2], rss.channel.dc_dates.collect{|x| x.value})
|
|
assert_equal([t2, t1], rss.items.last.dc_dates.collect{|x| x.value})
|
|
end
|
|
|
|
private
|
|
def set_topics(target, resources=@resources)
|
|
resources.each do |value|
|
|
target.taxo_topics << value
|
|
end
|
|
end
|
|
end
|
|
end
|