From 8b33686b91623cd321f8071e8f76d75e663d44ef Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon, 1 Nov 2004 08:21:06 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'ruby_1_8'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rss/test_maker_content.rb | 34 +++++++++++++++++++ test/rss/test_maker_dc.rb | 71 ++++++++++++++++++++++++++++++++++++++++ test/rss/test_maker_sy.rb | 43 ++++++++++++++++++++++++ test/rss/test_maker_trackback.rb | 35 ++++++++++++++++++++ 4 files changed, 183 insertions(+) create mode 100644 test/rss/test_maker_content.rb create mode 100644 test/rss/test_maker_dc.rb create mode 100644 test/rss/test_maker_sy.rb create mode 100644 test/rss/test_maker_trackback.rb (limited to 'test') diff --git a/test/rss/test_maker_content.rb b/test/rss/test_maker_content.rb new file mode 100644 index 0000000000..faadd87131 --- /dev/null +++ b/test/rss/test_maker_content.rb @@ -0,0 +1,34 @@ +require "rss-testcase" + +require "rss/maker" + +module RSS + class TestMakerContent < TestCase + + def setup + @uri = "http://purl.org/rss/1.0/modules/content/" + + @elements = { + :encoded => "ATTENTION", + } + end + + def test_rss10 + rss = RSS::Maker.make("1.0", ["content"]) 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) + end + end + assert_content(@elements, rss.items.last) + end + + private + def accessor_name(name) + "content_#{name}" + end + end +end diff --git a/test/rss/test_maker_dc.rb b/test/rss/test_maker_dc.rb new file mode 100644 index 0000000000..512622d29f --- /dev/null +++ b/test/rss/test_maker_dc.rb @@ -0,0 +1,71 @@ +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", ["dublincore"]) 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 diff --git a/test/rss/test_maker_sy.rb b/test/rss/test_maker_sy.rb new file mode 100644 index 0000000000..c41ec1d310 --- /dev/null +++ b/test/rss/test_maker_sy.rb @@ -0,0 +1,43 @@ +require "rss-testcase" + +require "rss/maker" + +module RSS + class TestMakerSyndication < TestCase + + def setup + @uri = "http://purl.org/rss/1.0/modules/syndication/" + + t = Time.iso8601("2000-01-01T12:00:05+00:00") + class << t + alias_method(:to_s, :iso8601) + end + + @elements = { + :updatePeriod => "hourly", + :updateFrequency => 2, + :updateBase => t, + } + end + + def test_rss10 + rss = RSS::Maker.make("1.0", ["syndication"]) do |maker| + setup_dummy_channel(maker) + set_elements(maker.channel) + end + assert_syndication(@elements, rss.channel) + end + + private + def accessor_name(name) + "sy_#{name}" + end + + def set_elements(target) + @elements.each do |name, value| + target.__send__("#{accessor_name(name)}=", value) + end + end + + end +end diff --git a/test/rss/test_maker_trackback.rb b/test/rss/test_maker_trackback.rb new file mode 100644 index 0000000000..bffa60e963 --- /dev/null +++ b/test/rss/test_maker_trackback.rb @@ -0,0 +1,35 @@ +require "rss-testcase" + +require "rss/maker" + +module RSS + class TestMakerTrackBack < TestCase + + def setup + @uri = "http://madskills.com/public/xml/rss/module/trackback/" + + @elements = { + :ping => "http://bar.com/tb.cgi?tb_id=rssplustrackback", + :about => "http://foo.com/trackback/tb.cgi?tb_id=20020923", + } + end + + def test_rss10 + rss = RSS::Maker.make("1.0", ["trackback"]) 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) + end + end + assert_trackback(@elements, rss.items.last) + end + + private + def accessor_name(name) + "trackback_#{name}" + end + end +end -- cgit v1.2.3