diff options
Diffstat (limited to 'ruby_1_8_6/test/rss')
31 files changed, 0 insertions, 6811 deletions
diff --git a/ruby_1_8_6/test/rss/rss-assertions.rb b/ruby_1_8_6/test/rss/rss-assertions.rb deleted file mode 100644 index 1e926bb84d..0000000000 --- a/ruby_1_8_6/test/rss/rss-assertions.rb +++ /dev/null @@ -1,506 +0,0 @@ -module Test - module Unit - module Assertions - # For backward compatibility - unless instance_methods.include?("assert_raise") - def assert_raise(*args, &block) - assert_raises(*args, &block) - end - end - end - end -end - -module RSS - module Assertions - - def assert_parse(rss, assert_method, *args) - __send__("assert_#{assert_method}", *args) do - ::RSS::Parser.parse(rss) - end - __send__("assert_#{assert_method}", *args) do - ::RSS::Parser.parse(rss, false).validate - end - end - - def assert_ns(prefix, uri) - _wrap_assertion do - begin - yield - flunk("Not raise NSError") - rescue ::RSS::NSError => e - assert_equal(prefix, e.prefix) - assert_equal(uri, e.uri) - end - end - end - - def assert_missing_tag(tag, parent) - _wrap_assertion do - begin - yield - flunk("Not raise MissingTagError") - rescue ::RSS::MissingTagError => e - assert_equal(tag, e.tag) - assert_equal(parent, e.parent) - end - end - end - - def assert_too_much_tag(tag, parent) - _wrap_assertion do - begin - yield - flunk("Not raise TooMuchTagError") - rescue ::RSS::TooMuchTagError => e - assert_equal(tag, e.tag) - assert_equal(parent, e.parent) - end - end - end - - def assert_missing_attribute(tag, attrname) - _wrap_assertion do - begin - yield - flunk("Not raise MissingAttributeError") - rescue ::RSS::MissingAttributeError => e - assert_equal(tag, e.tag) - assert_equal(attrname, e.attribute) - end - end - end - - def assert_not_expected_tag(tag, uri, parent) - _wrap_assertion do - begin - yield - flunk("Not raise NotExpectedTagError") - rescue ::RSS::NotExpectedTagError => e - assert_equal(tag, e.tag) - assert_equal(uri, e.uri) - assert_equal(parent, e.parent) - end - end - end - - def assert_not_available_value(tag, value, attribute=nil) - _wrap_assertion do - begin - yield - flunk("Not raise NotAvailableValueError") - rescue ::RSS::NotAvailableValueError => e - assert_equal(tag, e.tag) - assert_equal(value, e.value) - assert_equal(attribute, e.attribute) - end - end - end - - def assert_not_set_error(name, variables) - _wrap_assertion do - 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(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(attrs, xsl) - else - assert_nil(target) - assert_equal("", xsl.to_s) - end - end - end - - def assert_xml_stylesheet_pis(attrs_ary, rss=nil) - _wrap_assertion do - rss ||= ::RSS::RDF.new() - xss_strs = [] - attrs_ary.each do |attrs| - xss = ::RSS::XMLStyleSheet.new(*attrs) - xss_strs.push(xss.to_s) - rss.xml_stylesheets.push(xss) - end - pi_str = rss.to_s.gsub(/<\?xml .*\n/, "").gsub(/\s*<[^\?].*\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 - assert_equal(items.resources, items.Seq.lis.collect {|x| x.resource}) - 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.to_i, hours[i].content) - end - end - end - - def assert_image09(attrs, image) - _wrap_assertion do - names = %w(url link title description) - names << ["width", :integer] - names << ["height", :integer] - 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 rating) - names << ["ttl", :integer] - 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 path registerProcedure protocol) - names << ["port", :integer] - 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) - names << ["width", :integer] - names << ["height", :integer] - 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 = ["url", ["length", :integer], "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 - names = [["isPermaLink", :boolean], ["content"]] - assert_attributes(attrs, names, 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) - _wrap_assertion do - elems.each do |name, value| - assert_equal(value, target.__send__("dc_#{name}")) - end - end - end - - def assert_multiple_dublin_core(elems, target) - _wrap_assertion do - elems.each do |name, values, plural| - plural ||= "#{name}s" - actual = target.__send__("dc_#{plural}").collect{|x| x.value} - assert_equal(values, actual) - end - end - end - - def assert_syndication(elems, target) - _wrap_assertion do - elems.each do |name, value| - meth = "sy_#{name}" - value = value.to_i if meth == "sy_updateFrequency" - assert_equal(value, target.__send__(meth )) - end - end - end - - def assert_content(elems, target) - _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_taxo_topic(topics, target) - _wrap_assertion do - topics.each_with_index do |topic, i| - taxo_topic = target.taxo_topics[i] - topic.each do |name, value| - case name - when :link - assert_equal(value, taxo_topic.about) - assert_equal(value, taxo_topic.taxo_link) - when :topics - assert_equal(value, taxo_topic.taxo_topics.resources) - else - assert_equal(value, taxo_topic.__send__("dc_#{name}")) - end - end - end - end - end - - - def assert_attributes(attrs, names, target) - _wrap_assertion do - n_attrs = normalized_attrs(attrs) - names.each do |info| - if info.is_a?(String) - name = info - type = nil - else - name, type = info - end - 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 - case type - when :integer - value = value.to_i - when :boolean - value = value == "true" if value.is_a?(String) - end - 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 diff --git a/ruby_1_8_6/test/rss/rss-testcase.rb b/ruby_1_8_6/test/rss/rss-testcase.rb deleted file mode 100644 index dc57b6b0e8..0000000000 --- a/ruby_1_8_6/test/rss/rss-testcase.rb +++ /dev/null @@ -1,293 +0,0 @@ -require "erb" - -require "test/unit" -require 'rss-assertions' - -module RSS - class TestCase < Test::Unit::TestCase - include ERB::Util - - include RSS - include Assertions - - XMLDECL_VERSION = "1.0" - XMLDECL_ENCODING = "UTF-8" - XMLDECL_STANDALONE = "no" - - RDF_ABOUT = "http://www.xml.com/xml/news.rss" - RDF_RESOURCE = "http://xml.com/universal/images/xml_tiny.gif" - TITLE_VALUE = "XML.com" - LINK_VALUE = "http://xml.com/pub" - URL_VALUE = "http://xml.com/universal/images/xml_tiny.gif" - NAME_VALUE = "hogehoge" - LANGUAGE_VALUE = "ja" - DESCRIPTION_VALUE = " - XML.com features a rich mix of information and services - for the XML community. - " - RESOURCES = [ - "http://xml.com/pub/2000/08/09/xslt/xslt.html", - "http://xml.com/pub/2000/08/09/rdfdb/index.html", - ] - - CLOUD_DOMAIN = "data.ourfavoritesongs.com" - CLOUD_PORT = "80" - CLOUD_PATH = "/RPC2" - CLOUD_REGISTER_PROCEDURE = "ourFavoriteSongs.rssPleaseNotify" - CLOUD_PROTOCOL = "xml-rpc" - - ENCLOSURE_URL = "http://www.scripting.com/mp3s/weatherReportSuite.mp3" - ENCLOSURE_LENGTH = "12216320" - ENCLOSURE_TYPE = "audio/mpeg" - - CATEGORY_DOMAIN = "http://www.superopendirectory.com/" - - def default_test - # This class isn't tested - end - - private - def make_xmldecl(v=XMLDECL_VERSION, e=XMLDECL_ENCODING, s=XMLDECL_STANDALONE) - rv = "<?xml version='#{v}'" - rv << " encoding='#{e}'" if e - rv << " standalone='#{s}'" if s - rv << "?>" - rv - end - - def make_RDF(content=nil, xmlns=[]) - <<-EORSS -#{make_xmldecl} -<rdf:RDF xmlns="#{URI}" xmlns:rdf="#{RDF::URI}" -#{xmlns.collect {|pre, uri| "xmlns:#{pre}='#{uri}'"}.join(' ')}> -#{block_given? ? yield : content} -</rdf:RDF> -EORSS - end - - def make_channel(content=nil) - <<-EOC -<channel rdf:about="#{RDF_ABOUT}"> - <title>#{TITLE_VALUE}</title> - <link>#{LINK_VALUE}</link> - <description>#{DESCRIPTION_VALUE}</description> - - <image rdf:resource="#{RDF_RESOURCE}" /> - - <items> - <rdf:Seq> -#{RESOURCES.collect do |res| '<rdf:li resource="' + res + '" />' end.join("\n")} - </rdf:Seq> - </items> - - <textinput rdf:resource="#{RDF_RESOURCE}" /> - -#{block_given? ? yield : content} -</channel> -EOC - end - - def make_image(content=nil) - <<-EOI -<image rdf:about="#{RDF_ABOUT}"> - <title>#{TITLE_VALUE}</title> - <url>#{URL_VALUE}</url> - <link>#{LINK_VALUE}</link> -#{block_given? ? yield : content} -</image> -EOI - end - - def make_item(content=nil) - <<-EOI -<item rdf:about="#{RDF_ABOUT}"> - <title>#{TITLE_VALUE}</title> - <link>#{LINK_VALUE}</link> - <description>#{DESCRIPTION_VALUE}</description> -#{block_given? ? yield : content} -</item> -EOI - end - - def make_textinput(content=nil) - <<-EOT -<textinput rdf:about="#{RDF_ABOUT}"> - <title>#{TITLE_VALUE}</title> - <description>#{DESCRIPTION_VALUE}</description> - <name>#{NAME_VALUE}</name> - <link>#{LINK_VALUE}</link> -#{block_given? ? yield : content} -</textinput> -EOT - end - - def make_sample_RDF - make_RDF(<<-EOR) -#{make_channel} -#{make_image} -#{make_item} -#{make_textinput} -EOR - end - - def make_rss20(content=nil, xmlns=[]) - <<-EORSS -#{make_xmldecl} -<rss version="2.0" -#{xmlns.collect {|pre, uri| "xmlns:#{pre}='#{uri}'"}.join(' ')}> -#{block_given? ? yield : content} -</rss> -EORSS - end - - def make_sample_items20 - RESOURCES.collect do |res| - elems = ["<link>#{res}</link>"] - elems << "<title>title of #{res}</title>" - elems = elems.join("\n") - item = "<item>\n#{elems}\n</item>" - end.join("\n") - end - - def make_channel20(content=nil) - <<-EOC -<channel> - <title>#{TITLE_VALUE}</title> - <link>#{LINK_VALUE}</link> - <description>#{DESCRIPTION_VALUE}</description> - <language>#{LANGUAGE_VALUE}</language> - - <image> - <url>#{RDF_RESOURCE}</url> - <title>#{TITLE_VALUE}</title> - <link>#{LINK_VALUE}</link> - </image> - -#{make_sample_items20} - - <textInput> - <title>#{TITLE_VALUE}</title> - <description>#{DESCRIPTION_VALUE}</description> - <name>#{NAME_VALUE}</name> - <link>#{RDF_RESOURCE}</link> - </textInput> - -#{block_given? ? yield : content} -</channel> -EOC - end - - def make_item20(content=nil) - <<-EOI -<item> - <title>#{TITLE_VALUE}</title> - <link>#{LINK_VALUE}</link> - <description>#{DESCRIPTION_VALUE}</description> -#{block_given? ? yield : content} -</item> -EOI - end - - def make_cloud20 - <<-EOC -<cloud - domain="#{CLOUD_DOMAIN}" - port="#{CLOUD_PORT}" - path="#{CLOUD_PATH}" - registerProcedure="#{CLOUD_REGISTER_PROCEDURE}" - protocol="#{CLOUD_PROTOCOL}" /> -EOC - end - - def make_sample_rss20 - make_rss20(<<-EOR) -#{make_channel20} -EOR - end - - def make_element(elem_name, attrs, contents) - attrs_str = attrs.collect do |name, value| - "#{h name}='#{h value}'" - end.join(" ") - contents_str = contents.collect do |name, value| - "#{Element::INDENT}<#{h name}>#{h value}</#{h name}>" - end.join("\n") - - "<#{h elem_name} #{attrs_str}>\n#{contents_str}\n</#{h elem_name}>" - end - - def xmlns_container(xmlns_decls, content) - attributes = xmlns_decls.collect do |prefix, uri| - "xmlns:#{h prefix}=\"#{h uri}\"" - end.join(" ") - "<dummy #{attributes}>#{content}</dummy>" - end - - private - def setup_dummy_channel(maker) - about = "http://hoge.com" - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - language = "ja" - - maker.channel.about = about - maker.channel.title = title - maker.channel.link = link - maker.channel.description = description - maker.channel.language = language - end - - def setup_dummy_image(maker) - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - - maker.channel.link = link if maker.channel.link.nil? - - maker.image.title = title - maker.image.url = url - end - - def setup_dummy_textinput(maker) - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com/search.cgi" - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - - def setup_dummy_item(maker) - title = "TITLE" - link = "http://hoge.com/" - - item = maker.items.new_item - item.title = title - item.link = link - end - - def setup_taxo_topic(target, topics) - topics.each do |topic| - taxo_topic = target.taxo_topics.new_taxo_topic - topic.each do |name, value| - case name - when :link - taxo_topic.taxo_link = value - when :topics - value.each do |t| - taxo_topic.taxo_topics << t - end - else - dc_elems = taxo_topic.__send__("dc_#{name}s") - dc_elem = dc_elems.__send__("new_#{name}") - dc_elem.value = value - end - end - end - end - end -end diff --git a/ruby_1_8_6/test/rss/test_1.0.rb b/ruby_1_8_6/test/rss/test_1.0.rb deleted file mode 100644 index ff3c8a402e..0000000000 --- a/ruby_1_8_6/test/rss/test_1.0.rb +++ /dev/null @@ -1,249 +0,0 @@ -require "rexml/document" - -require "rss-testcase" - -require "rss/1.0" - -module RSS - class TestRSS10Core < TestCase - - def setup - @rdf_prefix = "rdf" - @rdf_uri = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" - @uri = "http://purl.org/rss/1.0/" - end - - def test_RDF - version = "1.0" - encoding = "UTF-8" - standalone = false - - rdf = RDF.new(version, encoding, standalone) - - doc = REXML::Document.new(rdf.to_s(false)) - - xmldecl = doc.xml_decl - - %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) - end - - def test_not_displayed_xml_stylesheets - rdf = RDF.new() - plain_rdf = rdf.to_s - 3.times do - rdf.xml_stylesheets.push(XMLStyleSheet.new) - assert_equal(plain_rdf, rdf.to_s) - end - end - - def test_xml_stylesheets - [ - [{:href => "a.xsl", :type => "text/xsl"}], - [ - {:href => "a.xsl", :type => "text/xsl"}, - {:href => "a.css", :type => "text/css"}, - ], - ].each do |attrs_ary| - assert_xml_stylesheet_pis(attrs_ary) - end - end - - def test_channel - about = "http://hoge.com" - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - resource = "http://hoge.com/hoge.png" - image = RDF::Channel::Image.new(resource) - items = RDF::Channel::Items.new - textinput = RDF::Channel::Textinput.new(resource) - - channel = RDF::Channel.new(about) - %w(title link description image items textinput).each do |x| - channel.__send__("#{x}=", instance_eval(x)) - end - - doc = REXML::Document.new(make_RDF(channel.to_s)) - c = doc.root.elements[1] - - assert_equal(about, c.attributes["about"]) - %w(title link description image textinput).each do |x| - elem = c.elements[x] - assert_equal(x, elem.name) - assert_equal(@uri, elem.namespace) - if x == "image" or x == "textinput" - excepted = resource - res = elem.attributes.get_attribute("resource") - assert_equal(@rdf_uri, res.namespace) - value = res.value - else - excepted = instance_eval(x) - value = elem.text - end - assert_equal(excepted, value) - end - assert_equal(@uri, c.elements["items"].namespace) - assert_equal("items", c.elements["items"].name) - end - - def test_channel_image - resource = "http://hoge.com/hoge.png" - image = RDF::Channel::Image.new(resource) - - doc = REXML::Document.new(make_RDF(image.to_s)) - i = doc.root.elements[1] - - assert_equal("image", i.name) - assert_equal(@uri, i.namespace) - - res = i.attributes.get_attribute("resource") - - assert_equal(@rdf_uri, res.namespace) - assert_equal(resource, res.value) - end - - def test_channel_textinput - resource = "http://hoge.com/hoge.png" - textinput = RDF::Channel::Textinput.new(resource) - - doc = REXML::Document.new(make_RDF(textinput.to_s)) - t = doc.root.elements[1] - - assert_equal("textinput", t.name) - assert_equal(@uri, t.namespace) - - res = t.attributes.get_attribute("resource") - - assert_equal(@rdf_uri, res.namespace) - assert_equal(resource, res.value) - end - - def test_items - items = RDF::Channel::Items.new - - doc = REXML::Document.new(make_RDF(items.to_s)) - i = doc.root.elements[1] - - assert_equal("items", i.name) - assert_equal(@uri, i.namespace) - - assert_equal(1, i.elements.size) - assert_equal("Seq", i.elements[1].name) - assert_equal(@rdf_uri, i.elements[1].namespace) - end - - def test_seq - seq = RDF::Seq.new - - doc = REXML::Document.new(make_RDF(seq.to_s)) - s = doc.root.elements[1] - - assert_equal("Seq", s.name) - assert_equal(@rdf_uri, s.namespace) - end - - def test_li - resource = "http://hoge.com/" - li = RDF::Li.new(resource) - - doc = REXML::Document.new(make_RDF(li.to_s)) - l = doc.root.elements[1] - - assert_equal("li", l.name) - assert_equal(@rdf_uri, l.namespace(l.prefix)) - - res = l.attributes.get_attribute("resource") - - assert_equal('', res.instance_eval("@prefix")) - assert_equal(resource, res.value) - end - - def test_image - about = "http://hoge.com" - title = "fugafuga" - url = "http://hoge.com/hoge" - link = "http://hoge.com/fuga" - - image = RDF::Image.new(about) - %w(title url link).each do |x| - image.__send__("#{x}=", instance_eval(x)) - end - - doc = REXML::Document.new(make_RDF(image.to_s)) - i = doc.root.elements[1] - - assert_equal(about, i.attributes["about"]) - %w(title url link).each do |x| - elem = i.elements[x] - assert_equal(x, elem.name) - assert_equal(@uri, elem.namespace) - assert_equal(instance_eval(x), elem.text) - end - end - - def test_item - about = "http://hoge.com" - title = "fugafuga" - link = "http://hoge.com/fuga" - description = "hogehogehoge" - - item = RDF::Item.new(about) - %w(title link description).each do |x| - item.__send__("#{x}=", instance_eval(x)) - end - - doc = REXML::Document.new(make_RDF(item.to_s)) - i = doc.root.elements[1] - - assert_equal(about, i.attributes["about"]) - %w(title link description).each do |x| - elem = i.elements[x] - assert_equal(x, elem.name) - assert_equal(@uri, elem.namespace) - assert_equal(instance_eval(x), elem.text) - end - end - - def test_textinput - about = "http://hoge.com" - title = "fugafuga" - link = "http://hoge.com/fuga" - name = "foo" - description = "hogehogehoge" - - textinput = RDF::Textinput.new(about) - %w(title link name description).each do |x| - textinput.__send__("#{x}=", instance_eval(x)) - end - - doc = REXML::Document.new(make_RDF(textinput.to_s)) - t = doc.root.elements[1] - - assert_equal(about, t.attributes["about"]) - %w(title link name description).each do |x| - elem = t.elements[x] - assert_equal(x, elem.name) - assert_equal(@uri, elem.namespace) - assert_equal(instance_eval(x), elem.text) - end - end - - def test_to_xml - rss = RSS::Parser.parse(make_sample_RDF) - assert_equal(rss.to_s, rss.to_xml) - assert_equal(rss.to_s, rss.to_xml("1.0")) - rss09 = rss.to_xml("0.91") do |maker| - maker.channel.language = "en-us" - end - rss09 = RSS::Parser.parse(rss09) - assert_equal("0.91", rss09.rss_version) - rss20 = RSS::Parser.parse(rss.to_xml("2.0")) - assert_equal("2.0", rss20.rss_version) - end - end -end diff --git a/ruby_1_8_6/test/rss/test_2.0.rb b/ruby_1_8_6/test/rss/test_2.0.rb deleted file mode 100644 index d39c297ab7..0000000000 --- a/ruby_1_8_6/test/rss/test_2.0.rb +++ /dev/null @@ -1,390 +0,0 @@ -require "rexml/document" - -require "rss-testcase" - -require "rss/2.0" - -module RSS - class TestRSS20Core < TestCase - - def setup - @rss_version = "2.0" - end - - def test_Rss - version = "1.0" - encoding = "UTF-8" - standalone = false - - rss = Rss.new(@rss_version, version, encoding, standalone) - - doc = REXML::Document.new(rss.to_s(false)) - - xmldecl = doc.xml_decl - - %w(version encoding).each do |x| - assert_equal(instance_eval(x), xmldecl.__send__(x)) - end - assert_equal(standalone, !xmldecl.standalone.nil?) - - assert_equal("", doc.root.namespace) - assert_equal(@rss_version, doc.root.attributes["version"]) - end - - def test_not_displayed_xml_stylesheets - rss = Rss.new(@rss_version) - plain_rss = rss.to_s - 3.times do - rss.xml_stylesheets.push(XMLStyleSheet.new) - assert_equal(plain_rss, rss.to_s) - end - end - - def test_xml_stylesheets - [ - [{:href => "a.xsl", :type => "text/xsl"}], - [ - {:href => "a.xsl", :type => "text/xsl"}, - {:href => "a.css", :type => "text/css"}, - ], - ].each do |attrs_ary| - assert_xml_stylesheet_pis(attrs_ary, Rss.new(@rss_version)) - end - end - - def test_channel - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - - language = "en-us" - copyright = "Copyright 2002, Spartanburg Herald-Journal" - managingEditor = "geo@herald.com (George Matesky)" - webMaster = "betty@herald.com (Betty Guernsey)" - pubDate = Time.parse("Sat, 07 Sep 2002 00:00:01 GMT") - lastBuildDate = Time.parse("Sat, 07 Sep 2002 09:42:31 GMT") - categories = [ - { - :content => "Newspapers", - }, - { - :domain => "Syndic8", - :content => "1765", - } - ] - generator = "MightyInHouse Content System v2.3" - docs = "http://blogs.law.harvard.edu/tech/rss" - - ttl = "60" - - rating = '(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.rsac.org" on "1996.04.16T08:15-0500" r (n 0 s 0 v 0 l 0))' - - channel = Rss::Channel.new - - elems = %w(title link description language copyright - managingEditor webMaster pubDate lastBuildDate - generator docs ttl rating) - elems.each do |x| - value = instance_eval(x) - value = value.rfc822 if %w(pubDate lastBuildDate).include?(x) - channel.__send__("#{x}=", value) - end - categories.each do |cat| - channel.categories << Rss::Channel::Category.new(cat[:domain], - cat[:content]) - end - - doc = REXML::Document.new(make_rss20(channel.to_s)) - c = doc.root.elements[1] - - elems.each do |x| - elem = c.elements[x] - assert_equal(x, elem.name) - assert_equal("", elem.namespace) - expected = instance_eval(x) - case x - when "pubDate", "lastBuildDate" - assert_equal(expected, Time.parse(elem.text)) - when "ttl" - expected = channel.__send__(x) - assert_equal(expected, elem.text.to_i) - else - assert_equal(expected, elem.text) - end - end - categories.each_with_index do |cat, i| - cat = cat.dup - cat[:domain] ||= nil - category = c.elements["category[#{i+1}]"] - actual = { - :domain => category.attributes["domain"], - :content => category.text, - } - assert_equal(cat, actual) - end - end - - def test_channel_cloud - cloud_params = { - :domain => "rpc.sys.com", - :port => "80", - :path => "/RPC2", - :registerProcedure => "myCloud.rssPleaseNotify", - :protocol => "xml-rpc", - } - cloud = Rss::Channel::Cloud.new(cloud_params[:domain], - cloud_params[:port], - cloud_params[:path], - cloud_params[:registerProcedure], - cloud_params[:protocol]) - cloud_params[:port] = cloud.port - - doc = REXML::Document.new(cloud.to_s) - cloud_elem = doc.root - - actual = {} - cloud_elem.attributes.each do |name, value| - value = value.to_i if name == "port" - actual[name.intern] = value - end - assert_equal(cloud_params, actual) - end - - def test_channel_image - image_params = { - :url => "http://hoge.com/hoge.png", - :title => "fugafuga", - :link => "http://hoge.com", - :width => "144", - :height => "400", - :description => "an image", - } - image = Rss::Channel::Image.new(image_params[:url], - image_params[:title], - image_params[:link], - image_params[:width], - image_params[:height], - image_params[:description]) - - doc = REXML::Document.new(image.to_s) - image_elem = doc.root - - image_params.each do |name, value| - value = image.__send__(name) - actual = image_elem.elements[name.to_s].text - actual = actual.to_i if [:width, :height].include?(name) - assert_equal(value, actual) - end - end - - def test_channel_textInput - textInput_params = { - :title => "fugafuga", - :description => "text hoge fuga", - :name => "hoge", - :link => "http://hoge.com", - } - textInput = Rss::Channel::TextInput.new(textInput_params[:title], - textInput_params[:description], - textInput_params[:name], - textInput_params[:link]) - - doc = REXML::Document.new(textInput.to_s) - input_elem = doc.root - - textInput_params.each do |name, value| - actual = input_elem.elements[name.to_s].text - assert_equal(value, actual) - end - end - - def test_channel_skip_days - skipDays_values = [ - "Sunday", - "Monday", - ] - skipDays = Rss::Channel::SkipDays.new - skipDays_values.each do |value| - skipDays.days << Rss::Channel::SkipDays::Day.new(value) - end - - doc = REXML::Document.new(skipDays.to_s) - days_elem = doc.root - - skipDays_values.each_with_index do |value, i| - assert_equal(value, days_elem.elements[i + 1].text) - end - end - - def test_channel_skip_hours - skipHours_values = [ - "0", - "13", - ] - skipHours = Rss::Channel::SkipHours.new - skipHours_values.each do |value| - skipHours.hours << Rss::Channel::SkipHours::Hour.new(value) - end - - doc = REXML::Document.new(skipHours.to_s) - hours_elem = doc.root - - skipHours_values.each_with_index do |value, i| - expected = skipHours.hours[i].content - assert_equal(expected, hours_elem.elements[i + 1].text.to_i) - end - end - - def test_item - title = "fugafuga" - link = "http://hoge.com/" - description = "text hoge fuga" - author = "oprah@oxygen.net" - categories = [ - { - :content => "Newspapers", - }, - { - :domain => "Syndic8", - :content => "1765", - } - ] - comments = "http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290" - pubDate = Time.parse("Sat, 07 Sep 2002 00:00:01 GMT") - - channel = Rss::Channel.new - item = Rss::Channel::Item.new - channel.items << item - - elems = %w(title link description author comments pubDate) - elems.each do |x| - value = instance_eval(x) - value = value.rfc822 if x == "pubDate" - item.__send__("#{x}=", value) - end - categories.each do |cat| - item.categories << Rss::Channel::Category.new(cat[:domain], - cat[:content]) - end - - doc = REXML::Document.new(channel.to_s) - channel_elem = doc.root - - item_elem = channel_elem.elements["item[1]"] - elems.each do |x| - elem = item_elem.elements[x] - assert_equal(x, elem.name) - assert_equal("", elem.namespace) - expected = instance_eval(x) - case x - when "pubDate" - assert_equal(expected, Time.parse(elem.text)) - else - assert_equal(expected, elem.text) - end - end - categories.each_with_index do |cat, i| - cat = cat.dup - cat[:domain] ||= nil - category = item_elem.elements["category[#{i+1}]"] - actual = { - :domain => category.attributes["domain"], - :content => category.text, - } - assert_equal(cat, actual) - end - end - - def test_item_enclosure - enclosure_params = { - :url => "http://www.scripting.com/mp3s/weatherReportSuite.mp3", - :length => "12216320", - :type => "audio/mpeg", - } - - enclosure = Rss::Channel::Item::Enclosure.new(enclosure_params[:url], - enclosure_params[:length], - enclosure_params[:type]) - enclosure_params[:length] = enclosure.length - - doc = REXML::Document.new(enclosure.to_s) - enclosure_elem = doc.root - - actual = {} - enclosure_elem.attributes.each do |name, value| - value = value.to_i if name == "length" - actual[name.intern] = value - end - assert_equal(enclosure_params, actual) - end - - def test_item_guid - test_params = [ - { - :content => "http://some.server.com/weblogItem3207", - }, - { - :isPermaLink => "true", - :content => "http://inessential.com/2002/09/01.php#a2", - }, - ] - - test_params.each do |guid_params| - guid = Rss::Channel::Item::Guid.new(guid_params[:isPermaLink], - guid_params[:content]) - if guid_params.has_key?(:isPermaLink) - guid_params[:isPermaLink] = guid.isPermaLink - end - if guid.isPermaLink.nil? - assert_equal(true, guid.PermaLink?) - else - assert_equal(guid.isPermaLink, guid.PermaLink?) - end - - doc = REXML::Document.new(guid.to_s) - guid_elem = doc.root - - actual = {} - actual[:content] = guid_elem.text if guid_elem.text - guid_elem.attributes.each do |name, value| - value = value == "true" if name == "isPermaLink" - actual[name.intern] = value - end - assert_equal(guid_params, actual) - end - end - - def test_item_source - source_params = { - :url => "http://www.tomalak.org/links2.xml", - :content => "Tomalak's Realm", - } - - source = Rss::Channel::Item::Source.new(source_params[:url], - source_params[:content]) - - doc = REXML::Document.new(source.to_s) - source_elem = doc.root - - actual = {} - actual[:content] = source_elem.text - source_elem.attributes.each do |name, value| - actual[name.intern] = value - end - assert_equal(source_params, actual) - end - - def test_to_xml - rss = RSS::Parser.parse(make_sample_rss20) - assert_equal(rss.to_s, rss.to_xml) - assert_equal(rss.to_s, rss.to_xml("2.0")) - rss09 = RSS::Parser.parse(rss.to_xml("0.91")) - assert_equal("0.91", rss09.rss_version) - rss10 = rss.to_xml("1.0") do |maker| - maker.channel.about = "http://www.example.com/index.rdf" - end - rss10 = RSS::Parser.parse(rss10) - assert_equal("1.0", rss10.rss_version) - end - end -end diff --git a/ruby_1_8_6/test/rss/test_accessor.rb b/ruby_1_8_6/test/rss/test_accessor.rb deleted file mode 100644 index ceb31fc9c2..0000000000 --- a/ruby_1_8_6/test/rss/test_accessor.rb +++ /dev/null @@ -1,103 +0,0 @@ -require "rss-testcase" - -require "rss/1.0" -require "rss/2.0" -require "rss/syndication" -require "rss/image" - -module RSS - class TestAccessor < TestCase - def test_date - channel = Rss::Channel.new - channel.pubDate = nil - assert_nil(channel.pubDate) - - time = Time.now - channel.pubDate = time - assert_equal(time, channel.pubDate) - - time = Time.parse(Time.now.rfc822) - channel.pubDate = time.rfc822 - assert_equal(time, channel.pubDate) - - time = Time.parse(Time.now.iso8601) - value = time.iso8601 - assert_not_available_value("pubDate", value) do - channel.pubDate = value - end - - channel.do_validate = false - time = Time.parse(Time.now.iso8601) - value = time.iso8601 - channel.pubDate = value - assert_equal(time, channel.pubDate) - - channel.pubDate = nil - assert_nil(channel.pubDate) - end - - def test_integer - image_item = RDF::Item::ImageItem.new - - image_item.width = nil - assert_nil(image_item.width) - - width = 10 - image_item.width = width - assert_equal(width, image_item.width) - - width = 10.0 - image_item.width = width - assert_equal(width, image_item.width) - - width = "10" - image_item.width = width - assert_equal(width.to_i, image_item.width) - - width = "10.0" - assert_not_available_value("image:width", width) do - image_item.width = width - end - - image_item.do_validate = false - width = "10.0" - image_item.width = width - assert_equal(width.to_i, image_item.width) - - image_item.width = nil - assert_nil(image_item.width) - end - - def test_positive_integer - channel = RDF::Channel.new - - channel.sy_updateFrequency = nil - assert_nil(channel.sy_updateFrequency) - - freq = 10 - channel.sy_updateFrequency = freq - assert_equal(freq, channel.sy_updateFrequency) - - freq = 10.0 - channel.sy_updateFrequency = freq - assert_equal(freq, channel.sy_updateFrequency) - - freq = "10" - channel.sy_updateFrequency = freq - assert_equal(freq.to_i, channel.sy_updateFrequency) - - freq = "10.0" - assert_not_available_value("sy:updateFrequency", freq) do - channel.sy_updateFrequency = freq - end - - channel.do_validate = false - freq = "10.0" - channel.sy_updateFrequency = freq - assert_equal(freq.to_i, channel.sy_updateFrequency) - - channel.sy_updateFrequency = nil - assert_nil(channel.sy_updateFrequency) - end - end -end diff --git a/ruby_1_8_6/test/rss/test_content.rb b/ruby_1_8_6/test/rss/test_content.rb deleted file mode 100644 index 70d456fa2f..0000000000 --- a/ruby_1_8_6/test/rss/test_content.rb +++ /dev/null @@ -1,94 +0,0 @@ -require "cgi" -require "rexml/document" - -require "rss-testcase" - -require "rss/1.0" -require "rss/content" - -module RSS - class TestContent < TestCase - - def setup - @prefix = "content" - @uri = "http://purl.org/rss/1.0/modules/content/" - - @parents = %w(item) - - @elems = { - :encoded => "<em>ATTENTION</em>", - } - - @content_nodes = @elems.collect do |name, value| - "<#{@prefix}:#{name}>#{CGI.escapeHTML(value.to_s)}</#{@prefix}:#{name}>" - end.join("\n") - - @rss_source = make_RDF(<<-EOR, {@prefix => @uri}) -#{make_channel()} -#{make_image()} -#{make_item(@content_nodes)} -#{make_textinput()} -EOR - - @rss = Parser.parse(@rss_source) - end - - def test_parser - - assert_nothing_raised do - Parser.parse(@rss_source) - end - - @elems.each do |tag, value| - assert_too_much_tag(tag.to_s, "item") do - Parser.parse(make_RDF(<<-EOR, {@prefix => @uri})) -#{make_channel()} -#{make_item(("<" + @prefix + ":" + tag.to_s + ">" + - CGI.escapeHTML(value.to_s) + - "</" + @prefix + ":" + tag.to_s + ">") * 2)} -EOR - end - end - - end - - def test_accessor - - new_value = { - :encoded => "<![CDATA[<it>hoge</it>]]>", - } - - @elems.each do |name, value| - @parents.each do |parent| - meth = "#{RSS::CONTENT_PREFIX}_#{name}" - assert_equal(value, @rss.__send__(parent).__send__(meth)) - @rss.__send__(parent).__send__("#{meth}=", new_value[name].to_s) - assert_equal(new_value[name], @rss.__send__(parent).__send__(meth)) - end - end - - end - - def test_to_s - @elems.each do |name, value| - excepted = "<#{@prefix}:#{name}>#{CGI.escapeHTML(value)}</#{@prefix}:#{name}>" - @parents.each do |parent| - meth = "#{RSS::CONTENT_PREFIX}_#{name}_element" - assert_equal(excepted, @rss.__send__(parent).__send__(meth)) - end - end - - REXML::Document.new(@rss_source).root.each_element do |parent| - if @parents.include?(parent.name) - parent.each_element do |elem| - if elem.namespace == @uri - assert_equal(elem.text, @elems[elem.name.intern].to_s) - end - end - end - end - - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_dublincore.rb b/ruby_1_8_6/test/rss/test_dublincore.rb deleted file mode 100644 index e5a4919362..0000000000 --- a/ruby_1_8_6/test/rss/test_dublincore.rb +++ /dev/null @@ -1,189 +0,0 @@ -require "cgi" -require "rexml/document" - -require "rss-testcase" - -require "rss/1.0" -require "rss/dublincore" - -module RSS - class TestDublinCore < TestCase - - def setup - @prefix = "dc" - @uri = "http://purl.org/dc/elements/1.1/" - - @parents = %w(channel image item textinput) - - t = Time.iso8601("2000-01-01T12:00:05+00:00") - class << t - alias_method(:to_s, :iso8601) - end - - @elems = { - :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, - } - - @dc_nodes = @elems.collect do |name, value| - "<#{@prefix}:#{name}>#{value}</#{@prefix}:#{name}>" - end.join("\n") - - @rss_source = make_RDF(<<-EOR, {@prefix => @uri}) -#{make_channel(@dc_nodes)} -#{make_image(@dc_nodes)} -#{make_item(@dc_nodes)} -#{make_textinput(@dc_nodes)} -EOR - - @rss = Parser.parse(@rss_source) - end - - def test_parser - assert_nothing_raised do - Parser.parse(@rss_source) - end - - @elems.each do |tag, value| - rss = nil - assert_nothing_raised do - rss = Parser.parse(make_RDF(<<-EOR, {@prefix => @uri})) -#{make_channel(("<" + @prefix + ":" + tag.to_s + ">" + - value.to_s + - "</" + @prefix + ":" + tag.to_s + ">") * 2)} -#{make_item} -EOR - end - plural_reader = "dc_#{tag}" + (tag == :rights ? "es" : "s") - values = rss.channel.__send__(plural_reader).collect do |x| - val = x.value - if val.kind_of?(String) - CGI.escapeHTML(val) - else - val - end - end - assert_equal([value, value], values) - end - - end - - def test_singular_accessor - new_value = "hoge" - - @elems.each do |name, value| - @parents.each do |parent| - parsed_value = @rss.__send__(parent).__send__("dc_#{name}") - if parsed_value.kind_of?(String) - parsed_value = CGI.escapeHTML(parsed_value) - end - assert_equal(value, parsed_value) - if name == :date - t = Time.iso8601("2003-01-01T02:30:23+09:00") - class << t - alias_method(:to_s, :iso8601) - end - @rss.__send__(parent).__send__("dc_#{name}=", t.iso8601) - assert_equal(t, @rss.__send__(parent).__send__("dc_#{name}")) - assert_equal(t, @rss.__send__(parent).date) - - @rss.__send__(parent).date = value - assert_equal(value, @rss.__send__(parent).date) - assert_equal(value, @rss.__send__(parent).__send__("dc_#{name}")) - else - @rss.__send__(parent).__send__("dc_#{name}=", new_value) - assert_equal(new_value, - @rss.__send__(parent).__send__("dc_#{name}")) - end - end - end - end - - def test_plural_accessor - new_value = "hoge" - - @elems.each do |name, value| - @parents.each do |parent| - parsed_value = @rss.__send__(parent).__send__("dc_#{name}") - if parsed_value.kind_of?(String) - parsed_value = CGI.escapeHTML(parsed_value) - end - assert_equal(value, parsed_value) - - plural_reader = "dc_#{name}" + (name == :rights ? "es" : "s") - klass_name = "DublinCore#{Utils.to_class_name(name.to_s)}" - klass = DublinCoreModel.const_get(klass_name) - if name == :date - t = Time.iso8601("2003-01-01T02:30:23+09:00") - class << t - alias_method(:to_s, :iso8601) - end - elems = @rss.__send__(parent).__send__(plural_reader) - elems << klass.new(t.iso8601) - new_elems = @rss.__send__(parent).__send__(plural_reader) - values = new_elems.collect{|x| x.value} - assert_equal([@rss.__send__(parent).__send__("dc_#{name}"), t], - values) - else - elems = @rss.__send__(parent).__send__(plural_reader) - elems << klass.new(new_value) - new_elems = @rss.__send__(parent).__send__(plural_reader) - values = new_elems.collect{|x| x.value} - assert_equal([ - @rss.__send__(parent).__send__("dc_#{name}"), - new_value - ], - values) - end - end - end - end - - def test_to_s - @elems.each do |name, value| - excepted = "<#{@prefix}:#{name}>#{value}</#{@prefix}:#{name}>" - @parents.each do |parent| - assert_equal(excepted, - @rss.__send__(parent).__send__("dc_#{name}_elements")) - end - - excepted = Array.new(2, excepted).join("\n") - @parents.each do |parent| - reader = "dc_#{name}" + (name == :rights ? "es" : "s") - elems = @rss.__send__(parent).__send__(reader) - klass_name = "DublinCore#{Utils.to_class_name(name.to_s)}" - klass = DublinCoreModel.const_get(klass_name) - elems << klass.new(@rss.__send__(parent).__send__("dc_#{name}")) - assert_equal(excepted, - @rss.__send__(parent).__send__("dc_#{name}_elements")) - end - end - - REXML::Document.new(@rss_source).root.each_element do |parent| - if @parents.include?(parent.name) - parent.each_element do |elem| - if elem.namespace == @uri - assert_equal(CGI.escapeHTML(elem.text), - @elems[elem.name.intern].to_s) - end - end - end - end - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_image.rb b/ruby_1_8_6/test/rss/test_image.rb deleted file mode 100644 index 381bcf0465..0000000000 --- a/ruby_1_8_6/test/rss/test_image.rb +++ /dev/null @@ -1,204 +0,0 @@ -require "cgi" -require "rexml/document" - -require "rss-testcase" - -require "rss/1.0" -require "rss/image" - -module RSS - class TestImage < TestCase - - def setup - @prefix = "image" - @uri = "http://web.resource.org/rss/1.0/modules/image/" - - @favicon_attrs = { - "rdf:about" => "http://www.kuro5hin.org/favicon.ico", - "#{@prefix}:size" => "small", - } - @favicon_contents = {"dc:title" => "Kuro5hin",} - @items = [ - [ - { - "rdf:about" => "http://www.example.org/item.png", - "rdf:resource" => "http://www.example.org/item", - }, - { - "dc:title" => "Example Image", - "#{@prefix}:width" => "100", - "#{@prefix}:height" => "65", - }, - ], - [ - { - "rdf:about" => "http://www.kuro5hin.org/images/topics/culture.jpg", - }, - { - "dc:title" => "Culture", - "#{@prefix}:width" => "80", - "#{@prefix}:height" => "50", - }, - ] - ] - - - @channel_nodes = make_element("#{@prefix}:favicon", - @favicon_attrs, - @favicon_contents) - items = "" - @items.each do |attrs, contents| - image_item = make_element("#{@prefix}:item", attrs, contents) - items << make_item(image_item) - end - - @ns = { - @prefix => @uri, - DC_PREFIX => DC_URI, - } - @rss_source = make_RDF(<<-EOR, @ns) -#{make_channel(@channel_nodes)} -#{make_image} -#{items} -#{make_textinput} -EOR - - @rss = Parser.parse(@rss_source) - end - - def test_parser - assert_nothing_raised do - Parser.parse(@rss_source) - end - - assert_too_much_tag("favicon", "channel") do - Parser.parse(make_RDF(<<-EOR, @ns)) -#{make_channel(@channel_nodes * 2)} -#{make_item} -EOR - end - end - - def test_favicon_accessor - favicon = @rss.channel.image_favicon - [ - %w(about rdf:about http://example.com/favicon.ico), - %w(size image:size large), - %w(image_size image:size medium), - ].each do |name, full_name, new_value| - assert_equal(@favicon_attrs[full_name], favicon.__send__(name)) - favicon.__send__("#{name}=", new_value) - assert_equal(new_value, favicon.__send__(name)) - favicon.__send__("#{name}=", @favicon_attrs[full_name]) - assert_equal(@favicon_attrs[full_name], favicon.__send__(name)) - end - - %w(small medium large).each do |value| - assert_nothing_raised do - favicon.size = value - favicon.image_size = value - end - end - - %w(aaa AAA SMALL MEDIUM LARGE).each do |value| - args = ["#{@prefix}:favicon", value, "#{@prefix}:size"] - assert_not_available_value(*args) do - favicon.size = value - end - assert_not_available_value(*args) do - favicon.image_size = value - end - end - - [ - %w(dc_title dc:title sample-favicon), - ].each do |name, full_name, new_value| - assert_equal(@favicon_contents[full_name], favicon.__send__(name)) - favicon.__send__("#{name}=", new_value) - assert_equal(new_value, favicon.__send__(name)) - favicon.__send__("#{name}=", @favicon_contents[full_name]) - assert_equal(@favicon_contents[full_name], favicon.__send__(name)) - end - end - - def test_item_accessor - @rss.items.each_with_index do |item, i| - image_item = item.image_item - attrs, contents = @items[i] - [ - %w(about rdf:about http://example.com/image.png), - %w(resource rdf:resource http://example.com/), - ].each do |name, full_name, new_value| - assert_equal(attrs[full_name], image_item.__send__(name)) - image_item.__send__("#{name}=", new_value) - assert_equal(new_value, image_item.__send__(name)) - image_item.__send__("#{name}=", attrs[full_name]) - assert_equal(attrs[full_name], image_item.__send__(name)) - end - - [ - ["width", "image:width", "111"], - ["image_width", "image:width", "44"], - ["height", "image:height", "222"], - ["image_height", "image:height", "88"], - ].each do |name, full_name, new_value| - assert_equal(contents[full_name].to_i, image_item.__send__(name)) - image_item.__send__("#{name}=", new_value) - assert_equal(new_value.to_i, image_item.__send__(name)) - image_item.__send__("#{name}=", contents[full_name]) - assert_equal(contents[full_name].to_i, image_item.__send__(name)) - end - - [ - ["dc_title", "dc:title", "sample-image"], - ].each do |name, full_name, new_value| - assert_equal(contents[full_name], image_item.__send__(name)) - image_item.__send__("#{name}=", new_value) - assert_equal(new_value, image_item.__send__(name)) - image_item.__send__("#{name}=", contents[full_name]) - assert_equal(contents[full_name], image_item.__send__(name)) - end - end - end - - def test_favicon_to_s - favicon = @rss.channel.image_favicon - expected_xml = image_xmlns_container(make_element("#{@prefix}:favicon", - @favicon_attrs, - @favicon_contents)) - expected = REXML::Document.new(expected_xml) - actual_xml = image_xmlns_container(favicon.to_s(false, "")) - actual = REXML::Document.new(actual_xml) - assert_equal(expected.to_s, actual.to_s) - end - - def test_item_to_s - @rss.items.each_with_index do |item, i| - attrs, contents = @items[i] - expected_xml = make_element("#{@prefix}:item", attrs, contents) - expected_xml = image_xmlns_container(expected_xml) - expected = REXML::Document.new(expected_xml) - actual_xml = image_xmlns_container(item.image_item.to_s(false, "")) - actual = REXML::Document.new(actual_xml) - - assert_equal(expected[0].attributes, actual[0].attributes) - - %w(image:height image:width dc:title).each do |name| - actual_target = actual.elements["//#{name}"] - expected_target = expected.elements["//#{name}"] - assert_equal(expected_target.to_s, actual_target.to_s) - end - end - end - - private - def image_xmlns_container(content) - xmlns_container({ - @prefix => @uri, - "dc" => "http://purl.org/dc/elements/1.1/", - "rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - }, - content) - end - end -end diff --git a/ruby_1_8_6/test/rss/test_inherit.rb b/ruby_1_8_6/test/rss/test_inherit.rb deleted file mode 100644 index fc4bbbe76a..0000000000 --- a/ruby_1_8_6/test/rss/test_inherit.rb +++ /dev/null @@ -1,41 +0,0 @@ -require "rss-testcase" - -require "rss/1.0" - -module RSS - class TestInherit < TestCase - - class InheritedImage < RSS::RDF::Image - def self.indent_size; 1; end - def self.tag_name; 'image'; end - end - - def setup - @rss = make_RDF(<<-EOR) -#{make_channel} -#{make_image} -#{make_item} -#{make_textinput} -EOR - end - - def test_inherit - rss = RSS::Parser.parse(@rss) - orig_image = rss.image - prefix = "[INHERIT]" - image = InheritedImage.new("#{prefix} #{orig_image.about}") - image.title = "#{prefix} #{orig_image.title}" - image.url = "#{prefix} #{orig_image.url}" - image.link = "#{prefix} #{orig_image.link}" - rss.image = image - - new_rss = RSS::Parser.parse(rss.to_s) - new_image = new_rss.image - assert_equal("#{prefix} #{orig_image.about}", new_image.about) - assert_equal("#{prefix} #{orig_image.title}", new_image.title) - assert_equal("#{prefix} #{orig_image.url}", new_image.url) - assert_equal("#{prefix} #{orig_image.link}", new_image.link) - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_0.9.rb b/ruby_1_8_6/test/rss/test_maker_0.9.rb deleted file mode 100644 index 820d567289..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_0.9.rb +++ /dev/null @@ -1,399 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestMaker09 < TestCase - - def test_rss - rss = RSS::Maker.make("0.91") - assert_nil(rss) - - rss = RSS::Maker.make("0.9") 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) - end - assert_equal("0.91", rss.rss_version) - - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.encoding = "EUC-JP" - end - assert_equal("0.91", rss.rss_version) - assert_equal("EUC-JP", rss.encoding) - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.standalone = "yes" - end - assert_equal("0.91", rss.rss_version) - assert_equal("yes", rss.standalone) - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.encoding = "EUC-JP" - maker.standalone = "yes" - end - assert_equal("0.91", rss.rss_version) - assert_equal("EUC-JP", rss.encoding) - assert_equal("yes", rss.standalone) - end - - def test_channel - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - language = "ja" - copyright = "foo" - managingEditor = "bar" - webMaster = "web master" - rating = '(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.rsac.org" on "1996.04.16T08:15-0500" r (n 0 s 0 v 0 l 0))' - docs = "http://foo.com/doc" - skipDays = [ - "Sunday", - "Monday", - ] - skipHours = [ - "0", - "13", - ] - pubDate = Time.now - lastBuildDate = Time.now - - rss = RSS::Maker.make("0.91") do |maker| - maker.channel.title = title - maker.channel.link = link - maker.channel.description = description - maker.channel.language = language - maker.channel.copyright = copyright - maker.channel.managingEditor = managingEditor - maker.channel.webMaster = webMaster - maker.channel.rating = rating - maker.channel.docs = docs - maker.channel.pubDate = pubDate - maker.channel.lastBuildDate = lastBuildDate - - skipDays.each do |day| - maker.channel.skipDays.new_day do |new_day| - new_day.content = day - end - end - skipHours.each do |hour| - maker.channel.skipHours.new_hour do |new_hour| - new_hour.content = hour - end - end - end - channel = rss.channel - - assert_equal(title, channel.title) - assert_equal(link, channel.link) - assert_equal(description, channel.description) - assert_equal(language, channel.language) - assert_equal(copyright, channel.copyright) - assert_equal(managingEditor, channel.managingEditor) - assert_equal(webMaster, channel.webMaster) - assert_equal(rating, channel.rating) - assert_equal(docs, channel.docs) - assert_equal(pubDate, channel.pubDate) - assert_equal(pubDate, channel.date) - 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.to_i, channel.skipHours.hours[i].content) - end - - assert(channel.items.empty?) - assert_nil(channel.image) - assert_nil(channel.textInput) - end - - def test_not_valid_channel - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - language = "ja" - - 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_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_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_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 - end - - def test_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - width = "144" - height = "400" - description = "an image" - - rss = 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 - end - image = rss.image - assert_equal(title, image.title) - assert_equal(link, image.link) - assert_equal(url, image.url) - assert_equal(width.to_i, image.width) - assert_equal(height.to_i, image.height) - assert_equal(description, image.description) - - 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 - end - end - end - - def test_not_valid_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - width = "144" - height = "400" - description = "an image" - - rss = 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 - end - assert_nil(rss.channel.image) - - 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 - end - end - - rss = 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 - end - assert_nil(rss.channel.image) - end - - def test_items - title = "TITLE" - link = "http://hoge.com/" - description = "text hoge fuga" - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - end - assert(rss.channel.items.empty?) - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.items.new_item do |item| - item.title = title - item.link = link - # item.description = description - end - end - assert_equal(1, rss.channel.items.size) - item = rss.channel.items.first - assert_equal(title, item.title) - assert_equal(link, item.link) - assert_nil(item.description) - - - item_size = 5 - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - maker.items.do_sort = true - end - assert_equal(item_size, rss.items.size) - rss.channel.items.each_with_index do |item, i| - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - maker.items.do_sort = Proc.new do |x, y| - y.title[-1] <=> x.title[-1] - end - end - assert_equal(item_size, rss.items.size) - rss.channel.items.reverse.each_with_index do |item, i| - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - end - - def test_textInput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - textInput = rss.channel.textInput - assert_equal(title, textInput.title) - assert_equal(description, textInput.description) - assert_equal(name, textInput.name) - assert_equal(link, textInput.link) - - rss = RSS::Maker.make("0.91") do |maker| - # setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss) - end - - def test_not_valid_textInput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - # maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - # maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - # maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - # maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - end - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_1.0.rb b/ruby_1_8_6/test/rss/test_maker_1.0.rb deleted file mode 100644 index e15432146d..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_1.0.rb +++ /dev/null @@ -1,431 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestMaker10 < TestCase - - def test_rdf - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - end - assert_equal("1.0", rss.rss_version) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - maker.encoding = "EUC-JP" - end - assert_equal("1.0", rss.rss_version) - assert_equal("EUC-JP", rss.encoding) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - maker.standalone = "yes" - end - assert_equal("1.0", rss.rss_version) - assert_equal("yes", rss.standalone) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - maker.encoding = "EUC-JP" - maker.standalone = "yes" - end - assert_equal("1.0", rss.rss_version) - assert_equal("EUC-JP", rss.encoding) - assert_equal("yes", rss.standalone) - end - - def test_channel - about = "http://hoge.com" - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - - rss = RSS::Maker.make("1.0") - 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 - end - channel = rss.channel - assert_equal(about, channel.about) - assert_equal(title, channel.title) - assert_equal(link, channel.link) - assert_equal(description, channel.description) - assert(channel.items.Seq.lis.empty?) - assert_nil(channel.image) - assert_nil(channel.textinput) - - rss = RSS::Maker.make("1.0") do |maker| - maker.channel.about = about - maker.channel.title = title - maker.channel.link = link - maker.channel.description = description - - setup_dummy_image(maker) - - setup_dummy_textinput(maker) - end - channel = rss.channel - assert_equal(about, channel.about) - assert_equal(title, channel.title) - assert_equal(link, channel.link) - assert_equal(description, channel.description) - assert(channel.items.Seq.lis.empty?) - assert_equal(rss.image.about, channel.image.resource) - assert_equal(rss.textinput.about, channel.textinput.resource) - end - - def test_not_valid_channel - about = "http://hoge.com" - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - - 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_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_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_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 - end - - - def test_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - maker.channel.link = link - - maker.image.title = title - maker.image.url = url - end - image = rss.image - assert_equal(url, image.about) - assert_equal(url, rss.channel.image.resource) - assert_equal(title, image.title) - assert_equal(link, image.link) - assert_equal(url, image.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 - end - - def test_not_valid_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - maker.channel.link = link - - # maker.image.url = url - maker.image.title = title - end - 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.image.url = url - # maker.image.title = title - end - assert_nil(rss.channel.image) - assert_nil(rss.image) - - 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 - end - - def test_items - title = "TITLE" - link = "http://hoge.com/" - description = "text hoge fuga" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - end - assert(rss.items.empty?) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.items.new_item do |item| - item.title = title - item.link = link - # item.description = description - end - end - assert_equal(1, rss.items.size) - item = rss.items.first - assert_equal(link, item.about) - assert_equal(title, item.title) - assert_equal(link, item.link) - assert_nil(item.description) - - - item_size = 5 - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - maker.items.do_sort = true - end - assert_equal(item_size, rss.items.size) - rss.items.each_with_index do |item, i| - assert_equal("#{link}#{i}", item.about) - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - maker.items.do_sort = Proc.new do |x, y| - y.title[-1] <=> x.title[-1] - end - end - assert_equal(item_size, rss.items.size) - rss.items.reverse.each_with_index do |item, i| - assert_equal("#{link}#{i}", item.about) - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - - max_size = item_size / 2 - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - maker.items.max_size = max_size - end - assert_equal(max_size, rss.items.size) - rss.items.each_with_index do |item, i| - assert_equal("#{link}#{i}", item.about) - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - - max_size = 0 - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - maker.items.max_size = max_size - end - assert_equal(max_size, rss.items.size) - - max_size = -2 - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - maker.items.max_size = max_size - end - assert_equal(item_size + max_size + 1, rss.items.size) - rss.items.each_with_index do |item, i| - assert_equal("#{link}#{i}", item.about) - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - end - - def test_not_valid_items - title = "TITLE" - link = "http://hoge.com/" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.items.new_item do |item| - # item.title = title - item.link = link - end - end - assert(rss.items.empty?) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.items.new_item do |item| - item.title = title - # item.link = link - end - end - assert(rss.items.empty?) - end - - def test_textinput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.link = link - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - end - textinput = rss.textinput - assert_equal(link, textinput.about) - assert_equal(link, rss.channel.textinput.resource) - assert_equal(title, textinput.title) - assert_equal(name, textinput.name) - assert_equal(description, textinput.description) - assert_equal(link, textinput.link) - - rss = RSS::Maker.make("1.0") do |maker| - # setup_dummy_channel(maker) - - maker.textinput.link = link - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - end - assert_nil(rss) - end - - def test_not_valid_textinput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - # maker.textinput.link = link - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - end - assert_nil(rss.channel.textinput) - assert_nil(rss.textinput) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.link = link - # maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - end - assert_nil(rss.channel.textinput) - assert_nil(rss.textinput) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.link = link - maker.textinput.title = title - # maker.textinput.description = description - maker.textinput.name = name - end - assert_nil(rss.channel.textinput) - assert_nil(rss.textinput) - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.link = link - maker.textinput.title = title - maker.textinput.description = description - # maker.textinput.name = name - end - assert_nil(rss.channel.textinput) - assert_nil(rss.textinput) - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_2.0.rb b/ruby_1_8_6/test/rss/test_maker_2.0.rb deleted file mode 100644 index ec5f3abb8e..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_2.0.rb +++ /dev/null @@ -1,667 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestMaker20 < TestCase - - def test_rss - rss = RSS::Maker.make("2.0") - assert_nil(rss) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - end - assert_equal("2.0", rss.rss_version) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.encoding = "EUC-JP" - end - assert_equal("2.0", rss.rss_version) - assert_equal("EUC-JP", rss.encoding) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.standalone = "yes" - end - assert_equal("2.0", rss.rss_version) - assert_equal("yes", rss.standalone) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.encoding = "EUC-JP" - maker.standalone = "yes" - end - assert_equal("2.0", rss.rss_version) - assert_equal("EUC-JP", rss.encoding) - assert_equal("yes", rss.standalone) - end - - def test_channel - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - language = "ja" - copyright = "foo" - managingEditor = "bar" - webMaster = "web master" - rating = '(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.rsac.org" on "1996.04.16T08:15-0500" r (n 0 s 0 v 0 l 0))' - docs = "http://foo.com/doc" - skipDays = [ - "Sunday", - "Monday", - ] - skipHours = [ - "0", - "13", - ] - pubDate = Time.now - lastBuildDate = Time.now - categories = [ - "Nespapers", - "misc", - ] - generator = "RSS Maker" - ttl = "60" - - rss = RSS::Maker.make("2.0") do |maker| - maker.channel.title = title - maker.channel.link = link - maker.channel.description = description - maker.channel.language = language - maker.channel.copyright = copyright - maker.channel.managingEditor = managingEditor - maker.channel.webMaster = webMaster - maker.channel.rating = rating - maker.channel.docs = docs - maker.channel.pubDate = pubDate - maker.channel.lastBuildDate = lastBuildDate - - skipDays.each do |day| - maker.channel.skipDays.new_day do |new_day| - new_day.content = day - end - end - skipHours.each do |hour| - maker.channel.skipHours.new_hour do |new_hour| - new_hour.content = hour - end - end - - categories.each do |category| - maker.channel.categories.new_category do |new_category| - new_category.content = category - end - end - - maker.channel.generator = generator - maker.channel.ttl = ttl - end - channel = rss.channel - - assert_equal(title, channel.title) - assert_equal(link, channel.link) - assert_equal(description, channel.description) - assert_equal(language, channel.language) - assert_equal(copyright, channel.copyright) - assert_equal(managingEditor, channel.managingEditor) - assert_equal(webMaster, channel.webMaster) - assert_equal(rating, channel.rating) - assert_equal(docs, channel.docs) - assert_equal(pubDate, channel.pubDate) - assert_equal(pubDate, channel.date) - 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.to_i, 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.to_i, channel.ttl) - - assert(channel.items.empty?) - assert_nil(channel.image) - assert_nil(channel.textInput) - end - - def test_not_valid_channel - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - language = "ja" - - 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_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_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 - - rss = RSS::Maker.make("2.0") do |maker| - maker.channel.title = title - maker.channel.link = link - maker.channel.description = description - # maker.channel.language = language - end - assert_not_nil(rss) - end - - - def test_cloud - domain = "rpc.sys.com" - port = "80" - path = "/RPC2" - registerProcedure = "myCloud.rssPleaseNotify" - protocol = "xml-rpc" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.channel.cloud.domain = domain - maker.channel.cloud.port = port - maker.channel.cloud.path = path - maker.channel.cloud.registerProcedure = registerProcedure - maker.channel.cloud.protocol = protocol - end - cloud = rss.channel.cloud - assert_equal(domain, cloud.domain) - assert_equal(port.to_i, cloud.port) - assert_equal(path, cloud.path) - assert_equal(registerProcedure, cloud.registerProcedure) - assert_equal(protocol, cloud.protocol) - end - - def test_not_valid_cloud - domain = "rpc.sys.com" - port = "80" - path = "/RPC2" - registerProcedure = "myCloud.rssPleaseNotify" - protocol = "xml-rpc" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - # maker.channel.cloud.domain = domain - maker.channel.cloud.port = port - maker.channel.cloud.path = path - maker.channel.cloud.registerProcedure = registerProcedure - maker.channel.cloud.protocol = protocol - end - assert_nil(rss.channel.cloud) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.channel.cloud.domain = domain - # maker.channel.cloud.port = port - maker.channel.cloud.path = path - maker.channel.cloud.registerProcedure = registerProcedure - maker.channel.cloud.protocol = protocol - end - assert_nil(rss.channel.cloud) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.channel.cloud.domain = domain - maker.channel.cloud.port = port - # maker.channel.cloud.path = path - maker.channel.cloud.registerProcedure = registerProcedure - maker.channel.cloud.protocol = protocol - end - assert_nil(rss.channel.cloud) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.channel.cloud.domain = domain - maker.channel.cloud.port = port - maker.channel.cloud.path = path - # maker.channel.cloud.registerProcedure = registerProcedure - maker.channel.cloud.protocol = protocol - end - assert_nil(rss.channel.cloud) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.channel.cloud.domain = domain - maker.channel.cloud.port = port - maker.channel.cloud.path = path - maker.channel.cloud.registerProcedure = registerProcedure - # maker.channel.cloud.protocol = protocol - end - assert_nil(rss.channel.cloud) - end - - - def test_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - width = "144" - height = "400" - description = "an image" - - rss = 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 - end - image = rss.image - assert_equal(title, image.title) - assert_equal(link, image.link) - assert_equal(url, image.url) - assert_equal(width.to_i, image.width) - assert_equal(height.to_i, image.height) - assert_equal(description, image.description) - - 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 - end - end - end - - def test_not_valid_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - width = "144" - height = "400" - description = "an image" - - rss = 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 - end - assert_nil(rss.image) - - 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 - end - end - - rss = 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 - end - assert_nil(rss.image) - end - - def test_items - title = "TITLE" - link = "http://hoge.com/" - description = "text hoge fuga" - author = "oprah@oxygen.net" - comments = "http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290" - pubDate = Time.now - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - end - assert(rss.channel.items.empty?) - - item_size = 5 - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - item.author = "#{author}#{i}" - item.comments = "#{comments}#{i}" - item.date = pubDate - end - end - maker.items.do_sort = true - end - assert_equal(item_size, rss.items.size) - rss.channel.items.each_with_index do |item, i| - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - assert_equal("#{author}#{i}", item.author) - assert_equal("#{comments}#{i}", item.comments) - assert_equal(pubDate, item.pubDate) - assert_equal(pubDate, item.date) - end - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - item.author = "#{author}#{i}" - item.comments = "#{comments}#{i}" - item.date = pubDate - end - end - maker.items.do_sort = Proc.new do |x, y| - y.title[-1] <=> x.title[-1] - end - end - assert_equal(item_size, rss.items.size) - rss.channel.items.reverse.each_with_index do |item, i| - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - assert_equal("#{author}#{i}", item.author) - assert_equal("#{comments}#{i}", item.comments) - assert_equal(pubDate, item.pubDate) - assert_equal(pubDate, item.date) - end - end - - def test_guid - isPermaLink = "true" - content = "http://inessential.com/2002/09/01.php#a2" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - guid = maker.items.last.guid - guid.isPermaLink = isPermaLink - guid.content = content - end - guid = rss.channel.items.last.guid - assert_equal(isPermaLink == "true", guid.isPermaLink) - assert_equal(content, guid.content) - end - - def test_not_valid_guid - content = "http://inessential.com/2002/09/01.php#a2" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - guid = maker.items.last.guid - # guid.content = content - end - assert_nil(rss.channel.items.last.guid) - end - - def test_enclosure - url = "http://www.scripting.com/mp3s/weatherReportSuite.mp3" - length = "12216320" - type = "audio/mpeg" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - enclosure = maker.items.last.enclosure - enclosure.url = url - enclosure.length = length - enclosure.type = type - end - enclosure = rss.channel.items.last.enclosure - assert_equal(url, enclosure.url) - assert_equal(length.to_i, enclosure.length) - assert_equal(type, enclosure.type) - end - - def test_not_valid_enclosure - url = "http://www.scripting.com/mp3s/weatherReportSuite.mp3" - length = "12216320" - type = "audio/mpeg" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - enclosure = maker.items.last.enclosure - # enclosure.url = url - enclosure.length = length - enclosure.type = type - end - assert_nil(rss.channel.items.last.enclosure) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - enclosure = maker.items.last.enclosure - enclosure.url = url - # enclosure.length = length - enclosure.type = type - end - assert_nil(rss.channel.items.last.enclosure) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - enclosure = maker.items.last.enclosure - enclosure.url = url - enclosure.length = length - # enclosure.type = type - end - assert_nil(rss.channel.items.last.enclosure) - end - - - def test_source - url = "http://static.userland.com/tomalak/links2.xml" - content = "Tomalak's Realm" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - source = maker.items.last.source - source.url = url - source.content = content - end - source = rss.channel.items.last.source - assert_equal(url, source.url) - assert_equal(content, source.content) - end - - def test_not_valid_source - url = "http://static.userland.com/tomalak/links2.xml" - content = "Tomalak's Realm" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - source = maker.items.last.source - # source.url = url - source.content = content - end - assert_nil(rss.channel.items.last.source) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - source = maker.items.last.source - source.url = url - # source.content = content - end - assert_nil(rss.channel.items.last.source) - end - - def test_category - domain = "http://www.fool.com/cusips" - content = "MSFT" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - maker.items.last.categories.new_category do |category| - category.domain = domain - category.content = content - end - end - category = rss.channel.items.last.categories.last - assert_equal(domain, category.domain) - assert_equal(content, category.content) - end - - def test_not_valid_category - content = "Grateful Dead" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - setup_dummy_item(maker) - - maker.items.last.categories.new_category do |category| - # category.content = content - end - end - assert(rss.channel.items.last.categories.empty?) - end - - def test_textInput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - textInput = rss.channel.textInput - assert_equal(title, textInput.title) - assert_equal(description, textInput.description) - assert_equal(name, textInput.name) - assert_equal(link, textInput.link) - - rss = RSS::Maker.make("2.0") do |maker| - # setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss) - end - - def test_not_valid_textInput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - # maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - # maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - # maker.textinput.name = name - maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - # maker.textinput.link = link - end - assert_nil(rss.channel.textInput) - end - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_content.rb b/ruby_1_8_6/test/rss/test_maker_content.rb deleted file mode 100644 index c29d75a649..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_content.rb +++ /dev/null @@ -1,34 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestMakerContent < TestCase - - def setup - @uri = "http://purl.org/rss/1.0/modules/content/" - - @elements = { - :encoded => "<em>ATTENTION</em>", - } - end - - def test_rss10 - 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) - end - end - assert_content(@elements, rss.items.last) - end - - private - def accessor_name(name) - "content_#{name}" - end - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_dc.rb b/ruby_1_8_6/test/rss/test_maker_dc.rb deleted file mode 100644 index 6266e953aa..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_dc.rb +++ /dev/null @@ -1,145 +0,0 @@ -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 - - def test_rss10_multiple - elems = [] - @elements.each do |name, value| - plural = name.to_s + (name == :rights ? "es" : "s") - values = [value] - if name == :date - values << value + 60 - else - values << value * 2 - end - elems << [name, values, plural] - end - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - set_multiple_elements(maker.channel, elems) - - setup_dummy_image(maker) - set_multiple_elements(maker.image, elems) - - setup_dummy_item(maker) - item = maker.items.last - elems.each do |name, values, plural| - dc_elems = item.__send__("dc_#{plural}") - values.each do |value| - dc_elems.__send__("new_#{name}") do |elem| - elem.value = value - end - end - end - - setup_dummy_textinput(maker) - set_multiple_elements(maker.textinput, elems) - end - assert_multiple_dublin_core(elems, rss.channel) - assert_multiple_dublin_core(elems, rss.image) - assert_multiple_dublin_core(elems, rss.items.last) - assert_multiple_dublin_core(elems, rss.textinput) - 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 - maker.channel.dc_dates.new_date do |date| - date.value = t2 - end - - setup_dummy_item(maker) - item = maker.items.last - item.date = t2 - item.dc_dates.new_date do |date| - date.value = t1 - end - 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 accessor_name(name) - "dc_#{name}" - end - - def set_elements(target, elems=@elements) - elems.each do |name, value| - target.__send__("#{accessor_name(name)}=", value) - end - end - - def set_multiple_elements(target, elems) - elems.each do |name, values, plural| - plural ||= "#{name}s" - dc_elems = target.__send__("dc_#{plural}") - values.each do |value| - dc_elems.__send__("new_#{name}") do |new_dc_elem| - new_dc_elem.value = value - end - end - end - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_image.rb b/ruby_1_8_6/test/rss/test_maker_image.rb deleted file mode 100644 index 1fc8076c46..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_image.rb +++ /dev/null @@ -1,62 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestMakerImage < TestCase - - def setup - @uri = "http://web.resource.org/rss/1.0/modules/image/" - - @favicon_infos = { - "about" => "http://www.kuro5hin.org/favicon.ico", - "image_size" => "small", - "dc_title" => "example", - } - @item_infos = { - "about" => "http://www.example.org/item.png", - "resource" => "http://www.example.org/item", - "dc_title" => "Example Image", - "image_width" => "100", - "image_height" => "65", - } - end - - def test_rss10 - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - @favicon_infos.each do |name, value| - maker.channel.image_favicon.__send__("#{name}=", value) - end - - setup_dummy_image(maker) - - setup_dummy_item(maker) - item = maker.items.last - @item_infos.each do |name, value| - item.image_item.__send__("#{name}=", value) - end - - setup_dummy_textinput(maker) - end - - setup_rss = RSS::Maker.make("1.0") do |maker| - rss.setup_maker(maker) - end - - [rss, setup_rss].each_with_index do |target, i| - favicon = target.channel.image_favicon - assert_equal(@favicon_infos["about"], favicon.about) - assert_equal(@favicon_infos["image_size"], favicon.image_size) - assert_equal(@favicon_infos["dc_title"], favicon.dc_title) - - item = target.items.last.image_item - assert_equal(@item_infos["about"], item.about) - assert_equal(@item_infos["resource"], item.resource) - assert_equal(@item_infos["image_width"].to_i, item.image_width) - assert_equal(@item_infos["image_height"].to_i, item.image_height) - assert_equal(@item_infos["dc_title"], item.dc_title) - end - end - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_sy.rb b/ruby_1_8_6/test/rss/test_maker_sy.rb deleted file mode 100644 index fd6df9a0eb..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_sy.rb +++ /dev/null @@ -1,43 +0,0 @@ -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") 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/ruby_1_8_6/test/rss/test_maker_taxo.rb b/ruby_1_8_6/test/rss/test_maker_taxo.rb deleted file mode 100644 index 8feb4e1d33..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_taxo.rb +++ /dev/null @@ -1,81 +0,0 @@ -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 - maker.channel.dc_dates.new_date do |date| - date.value = t2 - end - - setup_dummy_item(maker) - item = maker.items.last - item.date = t2 - item.dc_dates.new_date do |date| - date.value = t1 - end - 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 diff --git a/ruby_1_8_6/test/rss/test_maker_trackback.rb b/ruby_1_8_6/test/rss/test_maker_trackback.rb deleted file mode 100644 index 58705c6f80..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_trackback.rb +++ /dev/null @@ -1,41 +0,0 @@ -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", - :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") do |maker| - setup_dummy_channel(maker) - - setup_dummy_item(maker) - item = maker.items.last - item.trackback_ping = @elements[:ping] - @elements[:abouts].each do |about| - item.trackback_abouts.new_about do |new_about| - new_about.value = about - end - end - end - assert_trackback(@elements, rss.items.last) - end - - private - def accessor_name(name) - "trackback_#{name}" - end - end -end diff --git a/ruby_1_8_6/test/rss/test_maker_xml-stylesheet.rb b/ruby_1_8_6/test/rss/test_maker_xml-stylesheet.rb deleted file mode 100644 index c380f21dc3..0000000000 --- a/ruby_1_8_6/test/rss/test_maker_xml-stylesheet.rb +++ /dev/null @@ -1,79 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestMakerXMLStyleSheet < TestCase - - def test_xml_stylesheet - href = 'a.xsl' - type = 'text/xsl' - title = 'sample' - media = 'printer' - charset = 'UTF-8' - alternate = 'yes' - - rss = RSS::Maker.make("1.0") do |maker| - maker.xml_stylesheets.new_xml_stylesheet do |xss| - xss.href = href - xss.type = type - xss.title = title - xss.media = media - xss.charset = charset - xss.alternate = alternate - end - - setup_dummy_channel(maker) - end - - xss = rss.xml_stylesheets.first - assert_equal(href, xss.href) - assert_equal(type, xss.type) - assert_equal(title, xss.title) - assert_equal(media, xss.media) - assert_equal(charset, xss.charset) - assert_equal(alternate, xss.alternate) - - - href = 'http://example.com/index.xsl' - type = 'text/xsl' - rss = RSS::Maker.make("1.0") do |maker| - maker.xml_stylesheets.new_xml_stylesheet do |xss| - xss.href = href - end - - setup_dummy_channel(maker) - end - - xss = rss.xml_stylesheets.first - assert_equal(href, xss.href) - assert_equal(type, xss.type) - end - - def test_not_valid_xml_stylesheet - href = 'xss.XXX' - type = "text/xsl" - - rss = RSS::Maker.make("1.0") do |maker| - maker.xml_stylesheets.new_xml_stylesheet do |xss| - # xss.href = href - xss.type = type - end - - setup_dummy_channel(maker) - end - assert(rss.xml_stylesheets.empty?) - - rss = RSS::Maker.make("1.0") do |maker| - maker.xml_stylesheets.new_xml_stylesheet do |xss| - xss.href = href - # xss.type = type - end - - setup_dummy_channel(maker) - end - assert(rss.xml_stylesheets.empty?) - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_parser.rb b/ruby_1_8_6/test/rss/test_parser.rb deleted file mode 100644 index 49b441bf96..0000000000 --- a/ruby_1_8_6/test/rss/test_parser.rb +++ /dev/null @@ -1,60 +0,0 @@ -begin - require "fileutils" -rescue LoadError - module FileUtils - module_function - def rm_f(target) - File.unlink(target) - rescue Errno::ENOENT - end - end -end - -require "rss-testcase" - -require "rss/1.0" -require "rss/dublincore" - -module RSS - class TestParser < TestCase - def setup - @_default_parser = Parser.default_parser - @rss10 = make_RDF(<<-EOR) -#{make_channel} -#{make_item} -#{make_textinput} -#{make_image} -EOR - @rss_file = "rss10.rdf" - File.open(@rss_file, "w") {|f| f.print(@rss10)} - end - - def teardown - Parser.default_parser = @_default_parser - FileUtils.rm_f(@rss_file) - end - - def test_default_parser - assert_nothing_raised do - Parser.default_parser = RSS::AVAILABLE_PARSERS.first - end - - assert_raise(RSS::NotValidXMLParser) do - Parser.default_parser = RSS::Parser - end - end - - def test_parse - assert_not_nil(RSS::Parser.parse(@rss_file)) - - garbage_rss_file = @rss_file + "-garbage" - if RSS::Parser.default_parser.name == "RSS::XMLParserParser" - assert_raise(RSS::NotWellFormedError) do - RSS::Parser.parse(garbage_rss_file) - end - else - assert_nil(RSS::Parser.parse(garbage_rss_file)) - end - end - end -end diff --git a/ruby_1_8_6/test/rss/test_parser_1.0.rb b/ruby_1_8_6/test/rss/test_parser_1.0.rb deleted file mode 100644 index 216881b767..0000000000 --- a/ruby_1_8_6/test/rss/test_parser_1.0.rb +++ /dev/null @@ -1,512 +0,0 @@ -require "rss-testcase" - -require "rss/1.0" -require "rss/dublincore" - -module RSS - class TestParser10 < TestCase - def test_RDF - assert_ns("", RDF::URI) do - Parser.parse(<<-EOR) -#{make_xmldecl} -<RDF/> -EOR - end - - assert_ns("", RDF::URI) do - Parser.parse(<<-EOR) -#{make_xmldecl} -<RDF xmlns="hoge"/> -EOR - end - - assert_ns("rdf", RDF::URI) do - Parser.parse(<<-EOR) -#{make_xmldecl} -<rdf:RDF xmlns:rdf="hoge"/> -EOR - end - - assert_parse(<<-EOR, :missing_tag, "channel", "RDF") -#{make_xmldecl} -<rdf:RDF xmlns:rdf="#{RSS::RDF::URI}"/> -EOR - - assert_parse(<<-EOR, :missing_tag, "channel", "RDF") -#{make_xmldecl} -<RDF xmlns="#{RSS::RDF::URI}"/> -EOR - - assert_parse(<<-EOR, :missing_tag, "channel", "RDF") -#{make_xmldecl} -<RDF xmlns="#{RSS::RDF::URI}"/> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") -#{make_channel} -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") -#{make_channel} -#{make_image} -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") -#{make_channel} -#{make_textinput} -EOR - - assert_too_much_tag("image", "RDF") do - Parser.parse(make_RDF(<<-EOR)) -#{make_channel} -#{make_image} -#{make_image} -#{make_item} -#{make_textinput} -EOR - end - - assert_parse(make_RDF(<<-EOR), :nothing_raised) -#{make_channel} -#{make_item} -#{make_image} -#{make_textinput} -EOR - - assert_parse(make_RDF(<<-EOR), :nothing_raised) -#{make_channel} -#{make_item} -#{make_textinput} -#{make_image} -EOR - - assert_parse(make_RDF(<<-EOR), :nothing_raised) -#{make_channel} -#{make_image} -#{make_item} -EOR - - assert_parse(make_RDF(<<-EOR), :nothing_raised) -#{make_channel} -#{make_image} -#{make_item} -#{make_textinput} -EOR - - 1.step(15, 3) do |i| - rss = make_RDF() do - res = make_channel - i.times { res << make_item } - res - end - assert_parse(rss, :nothing_raised) - end - end - - def test_undefined_entity - return unless RSS::Parser.default_parser.raise_for_undefined_entity? - assert_parse(make_RDF(<<-EOR), :raises, RSS::NotWellFormedError) -#{make_channel} -#{make_image} -<item rdf:about="#{RDF_ABOUT}"> - <title>#{TITLE_VALUE} &UNKNOWN_ENTITY;</title> - <link>#{LINK_VALUE}</link> - <description>#{DESCRIPTION_VALUE}</description> -</item> -#{make_textinput} -EOR - end - - def test_channel - assert_parse(make_RDF(<<-EOR), :missing_attribute, "channel", "rdf:about") -<channel /> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "channel") -<channel rdf:about="http://example.com/"/> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "channel") -<channel rdf:about="http://example.com/"> - <title>hoge</title> -</channel> -EOR - - assert_parse(make_RDF(<<EOR), :missing_tag, "description", "channel") -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> -</channel> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "items", "channel") -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> -</channel> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "rdf:resource") -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> - <image/> -</channel> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "items", "channel") -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> - <image rdf:resource="http://example.com/hoge.png" /> -</channel> -EOR - - rss = make_RDF(<<-EOR) -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> - <image rdf:resource="http://example.com/hoge.png" /> - <items/> -</channel> -EOR - - assert_missing_tag("Seq", "items") do - Parser.parse(rss) - end - - assert_missing_tag("item", "RDF") do - Parser.parse(rss, false).validate - end - - assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> - <image rdf:resource="http://example.com/hoge.png" /> - <items> - <rdf:Seq> - </rdf:Seq> - </items> -</channel> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "rdf:resource") -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> - <image rdf:resource="http://example.com/hoge.png" /> - <items> - <rdf:Seq> - </rdf:Seq> - </items> - <textinput/> -</channel> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> - <image rdf:resource="http://example.com/hoge.png" /> - <items> - <rdf:Seq> - </rdf:Seq> - </items> - <textinput rdf:resource="http://example.com/search" /> -</channel> -EOR - end - - def test_rdf_li - rss = make_RDF(<<-EOR) -<channel rdf:about="http://example.com/"> - <title>hoge</title> - <link>http://example.com/</link> - <description>hogehoge</description> - <image rdf:resource="http://example.com/hoge.png" /> - <items> - <rdf:Seq> - <rdf:li \#{rdf_li_attr}/> - </rdf:Seq> - </items> - <textinput rdf:resource="http://example.com/search" /> -</channel> -#{make_item} -EOR - - source = Proc.new do |rdf_li_attr| - eval(%Q[%Q[#{rss}]], binding) - end - - attr = %q[resource="http://example.com/hoge"] - assert_parse(source.call(attr), :nothing_raised) - - attr = %q[rdf:resource="http://example.com/hoge"] - assert_parse(source.call(attr), :nothing_raised) - - assert_parse(source.call(""), :missing_attribute, "li", "resource") - end - - def test_image - assert_parse(make_RDF(<<-EOR), :missing_attribute, "image", "rdf:about") -#{make_channel} -<image> -</image> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "image") -#{make_channel} -<image rdf:about="http://example.com/hoge.png"> -</image> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "url", "image") -#{make_channel} -<image rdf:about="http://example.com/hoge.png"> - <title>hoge</title> -</image> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "image") -#{make_channel} -<image rdf:about="http://example.com/hoge.png"> - <title>hoge</title> - <url>http://example.com/hoge.png</url> -</image> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "item", "RDF") -#{make_channel} -<image rdf:about="http://example.com/hoge.png"> - <title>hoge</title> - <url>http://example.com/hoge.png</url> - <link>http://example.com/</link> -</image> -EOR - - rss = make_RDF(<<-EOR) -#{make_channel} -<image rdf:about="http://example.com/hoge.png"> - <link>http://example.com/</link> - <url>http://example.com/hoge.png</url> - <title>hoge</title> -</image> -EOR - - assert_missing_tag("item", "RDF") do - Parser.parse(rss) - end - - assert_missing_tag("item", "RDF") do - Parser.parse(rss, false).validate - end - end - - def test_item - assert_parse(make_RDF(<<-EOR), :missing_attribute, "item", "rdf:about") -#{make_channel} -#{make_image} -<item> -</item> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "item") -#{make_channel} -#{make_image} -<item rdf:about="http://example.com/hoge.html"> -</item> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "item") -#{make_channel} -#{make_image} -<item rdf:about="http://example.com/hoge.html"> - <title>hoge</title> -</item> -EOR - - assert_too_much_tag("title", "item") do - Parser.parse(make_RDF(<<-EOR)) -#{make_channel} -#{make_image} -<item rdf:about="http://example.com/hoge.html"> - <title>hoge</title> - <title>hoge</title> - <link>http://example.com/hoge.html</link> -</item> -EOR - end - - assert_parse(make_RDF(<<-EOR), :nothing_raised) -#{make_channel} -#{make_image} -<item rdf:about="http://example.com/hoge.html"> - <title>hoge</title> - <link>http://example.com/hoge.html</link> -</item> -EOR - - assert_parse(make_RDF(<<-EOR), :nothing_raised) -#{make_channel} -#{make_image} -<item rdf:about="http://example.com/hoge.html"> - <title>hoge</title> - <link>http://example.com/hoge.html</link> - <description>hogehoge</description> -</item> -EOR - end - - def test_textinput - assert_parse(make_RDF(<<-EOR), :missing_attribute, "textinput", "rdf:about") -#{make_channel} -#{make_image} -#{make_item} -<textinput> -</textinput> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "title", "textinput") -#{make_channel} -#{make_image} -#{make_item} -<textinput rdf:about="http://example.com/search.html"> -</textinput> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "description", "textinput") -#{make_channel} -#{make_image} -#{make_item} -<textinput rdf:about="http://example.com/search.html"> - <title>hoge</title> -</textinput> -EOR - - assert_too_much_tag("title", "textinput") do - Parser.parse(make_RDF(<<-EOR)) -#{make_channel} -#{make_image} -#{make_item} -<textinput rdf:about="http://example.com/search.html"> - <title>hoge</title> - <title>hoge</title> - <description>hogehoge</description> -</textinput> -EOR - end - - assert_parse(make_RDF(<<-EOR), :missing_tag, "name", "textinput") -#{make_channel} -#{make_image} -#{make_item} -<textinput rdf:about="http://example.com/search.html"> - <title>hoge</title> - <description>hogehoge</description> -</textinput> -EOR - - assert_parse(make_RDF(<<-EOR), :missing_tag, "link", "textinput") -#{make_channel} -#{make_image} -#{make_item} -<textinput rdf:about="http://example.com/search.html"> - <title>hoge</title> - <description>hogehoge</description> - <name>key</name> -</textinput> -EOR - - assert_parse(make_RDF(<<-EOR), :nothing_raised) -#{make_channel} -#{make_image} -#{make_item} -<textinput rdf:about="http://example.com/search.html"> - <title>hoge</title> - <description>hogehoge</description> - <name>key</name> - <link>http://example.com/search.html</link> -</textinput> -EOR - end - - def test_ignore - name = "a" - rss = make_RDF(<<-EOR) -#{make_channel} -#{make_item} -<#{name}/> -EOR - assert_not_expected_tag(name, ::RSS::URI, "RDF") do - Parser.parse(rss, true, false) - end - - uri = "" - name = "a" - rss = make_RDF(<<-EOR) -#{make_channel} -#{make_item} -<#{name} xmlns=""/> -EOR - assert_parse(rss, :nothing_raised) - assert_not_expected_tag(name, uri, "RDF") do - Parser.parse(rss, true, false) - end - - uri = "http://example.com/" - name = "a" - rss = make_RDF(<<-EOR) -#{make_channel} -#{make_item} -<x:#{name} xmlns:x="#{uri}"/> -EOR - assert_parse(rss, :nothing_raised) - assert_not_expected_tag(name, uri, "RDF") do - Parser.parse(rss, true, false) - end - - uri = ::RSS::URI - name = "a" - rss = make_RDF(<<-EOR) -#{make_channel} -#{make_item} -#{make_image("<#{name}/>")} -EOR - assert_parse(rss, :nothing_raised) - assert_not_expected_tag(name, uri, "image") do - Parser.parse(rss, true, false) - end - - uri = CONTENT_URI - name = "encoded" - elem = "<#{name} xmlns='#{uri}'/>" - rss = make_RDF(<<-EOR) -#{make_channel} -#{make_item} -#{make_image(elem)} -EOR - assert_parse(rss, :nothing_raised) - assert_not_expected_tag(name, uri, "image") do - Parser.parse(rss, true, false) - end - end - - def test_unknown_duplicated_element - xmlns = {"test" => "http://localhost/test"} - assert_parse(make_RDF(<<-EOR, xmlns), :nothing_raised) - #{make_channel("<test:string/>")} - #{make_item} - #{make_image} - EOR - end - end -end - diff --git a/ruby_1_8_6/test/rss/test_parser_2.0.rb b/ruby_1_8_6/test/rss/test_parser_2.0.rb deleted file mode 100644 index 249347d3dc..0000000000 --- a/ruby_1_8_6/test/rss/test_parser_2.0.rb +++ /dev/null @@ -1,122 +0,0 @@ -require "rss-testcase" - -require "rss/2.0" - -module RSS - class TestParser20 < TestCase - def test_rss20 - assert_parse(make_rss20(<<-EOR), :missing_tag, "channel", "rss") -EOR - - assert_parse(make_rss20(<<-EOR), :nothing_raised) -#{make_channel20("")} -EOR - end - - def test_cloud20 - attrs = [ - ["domain", CLOUD_DOMAIN], - ["port", CLOUD_PORT], - ["path", CLOUD_PATH], - ["registerProcedure", CLOUD_REGISTER_PROCEDURE], - ["protocol", CLOUD_PROTOCOL], - ] - - (attrs.size + 1).times do |i| - missing_attr = attrs[i] - if missing_attr - meth = :missing_attribute - args = ["cloud", missing_attr[0]] - else - meth = :nothing_raised - args = [] - end - - cloud_attrs = [] - attrs.each_with_index do |attr, j| - unless i == j - cloud_attrs << %Q[#{attr[0]}="#{attr[1]}"] - end - end - - assert_parse(make_rss20(<<-EOR), meth, *args) -#{make_channel20(%Q[<cloud #{cloud_attrs.join("\n")}/>])} -EOR - end - end - - def test_source20 - assert_parse(make_rss20(<<-EOR), :missing_attribute, "source", "url") -#{make_channel20(make_item20(%Q[<source>Example</source>]))} -EOR - - assert_parse(make_rss20(<<-EOR), :nothing_raised) -#{make_channel20(make_item20(%Q[<source url="http://example.com/" />]))} -EOR - - assert_parse(make_rss20(<<-EOR), :nothing_raised) -#{make_channel20(make_item20(%Q[<source url="http://example.com/">Example</source>]))} -EOR - end - - def test_enclosure20 - attrs = [ - ["url", ENCLOSURE_URL], - ["length", ENCLOSURE_LENGTH], - ["type", ENCLOSURE_TYPE], - ] - - (attrs.size + 1).times do |i| - missing_attr = attrs[i] - if missing_attr - meth = :missing_attribute - args = ["enclosure", missing_attr[0]] - else - meth = :nothing_raised - args = [] - end - - enclosure_attrs = [] - attrs.each_with_index do |attr, j| - unless i == j - enclosure_attrs << %Q[#{attr[0]}="#{attr[1]}"] - end - end - - assert_parse(make_rss20(<<-EOR), meth, *args) -#{make_channel20(%Q[ -#{make_item20(%Q[ -<enclosure - #{enclosure_attrs.join("\n")} /> - ])} - ])} -EOR - end - end - - def test_category20 - values = [nil, CATEGORY_DOMAIN] - values.each do |value| - domain = "" - domain << %Q[domain="#{value}"] if value - - ["", "Example Text"].each do |text| - rss_src = make_rss20(<<-EOR) -#{make_channel20(%Q[ -#{make_item20(%Q[ -<category #{domain}>#{text}</category> - ])} - ])} -EOR - assert_parse(rss_src, :nothing_raised) - - rss = RSS::Parser.parse(rss_src) - category = rss.items.last.categories.first - assert_equal(value, category.domain) - assert_equal(text, category.content) - end - end - end - end -end - diff --git a/ruby_1_8_6/test/rss/test_setup_maker_0.9.rb b/ruby_1_8_6/test/rss/test_setup_maker_0.9.rb deleted file mode 100644 index 9408728371..0000000000 --- a/ruby_1_8_6/test/rss/test_setup_maker_0.9.rb +++ /dev/null @@ -1,233 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestSetupMaker09 < TestCase - - def test_setup_maker_channel - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - language = "ja" - copyright = "foo" - managingEditor = "bar" - webMaster = "web master" - rating = '(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.rsac.org" on "1996.04.16T08:15-0500" r (n 0 s 0 v 0 l 0))' - docs = "http://foo.com/doc" - skipDays = [ - "Sunday", - "Monday", - ] - skipHours = [ - "0", - "13", - ] - pubDate = Time.now - lastBuildDate = Time.now - - rss = RSS::Maker.make("0.91") do |maker| - maker.channel.title = title - maker.channel.link = link - maker.channel.description = description - maker.channel.language = language - maker.channel.copyright = copyright - maker.channel.managingEditor = managingEditor - maker.channel.webMaster = webMaster - maker.channel.rating = rating - maker.channel.docs = docs - maker.channel.pubDate = pubDate - maker.channel.lastBuildDate = lastBuildDate - - skipDays.each do |day| - maker.channel.skipDays.new_day do |new_day| - new_day.content = day - end - end - skipHours.each do |hour| - maker.channel.skipHours.new_hour do |new_hour| - new_hour.content = hour - end - end - end - - new_rss = RSS::Maker.make("0.91") do |maker| - rss.channel.setup_maker(maker) - end - channel = new_rss.channel - - assert_equal(title, channel.title) - assert_equal(link, channel.link) - assert_equal(description, channel.description) - assert_equal(language, channel.language) - assert_equal(copyright, channel.copyright) - assert_equal(managingEditor, channel.managingEditor) - assert_equal(webMaster, channel.webMaster) - assert_equal(rating, channel.rating) - assert_equal(docs, channel.docs) - 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.to_i, channel.skipHours.hours[i].content) - end - - assert(channel.items.empty?) - assert_nil(channel.image) - assert_nil(channel.textInput) - end - - def test_setup_maker_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - width = "144" - height = "400" - description = "an image" - - rss = 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 - end - - new_rss = RSS::Maker.make("0.91") do |maker| - rss.channel.setup_maker(maker) - rss.image.setup_maker(maker) - end - - image = new_rss.image - assert_equal(title, image.title) - assert_equal(link, image.link) - assert_equal(url, image.url) - assert_equal(width.to_i, image.width) - assert_equal(height.to_i, image.height) - assert_equal(description, image.description) - end - - def test_setup_maker_textinput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - - new_rss = RSS::Maker.make("0.91") do |maker| - rss.channel.setup_maker(maker) - rss.textinput.setup_maker(maker) - end - - textInput = new_rss.channel.textInput - assert_equal(title, textInput.title) - assert_equal(description, textInput.description) - assert_equal(name, textInput.name) - assert_equal(link, textInput.link) - end - - def test_setup_maker_items(for_backward_compatibility=false) - title = "TITLE" - link = "http://hoge.com/" - description = "text hoge fuga" - - item_size = 5 - - rss = RSS::Maker.make("0.91") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - end - end - end - - new_rss = RSS::Maker.make("0.91") do |maker| - rss.channel.setup_maker(maker) - - rss.items.each do |item| - if for_backward_compatibility - item.setup_maker(maker) - else - item.setup_maker(maker.items) - end - end - end - - assert_equal(item_size, new_rss.items.size) - new_rss.items.each_with_index do |item, i| - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - - end - - def test_setup_maker_items_backward_compatibility - test_setup_maker_items(true) - end - - def test_setup_maker - encoding = "EUC-JP" - standalone = true - - href = 'a.xsl' - type = 'text/xsl' - title = 'sample' - media = 'printer' - charset = 'UTF-8' - alternate = 'yes' - - rss = RSS::Maker.make("0.91") do |maker| - maker.encoding = encoding - maker.standalone = standalone - - maker.xml_stylesheets.new_xml_stylesheet do |xss| - xss.href = href - xss.type = type - xss.title = title - xss.media = media - xss.charset = charset - xss.alternate = alternate - end - - setup_dummy_channel(maker) - end - - new_rss = RSS::Maker.make("0.91") do |maker| - rss.setup_maker(maker) - end - - assert_equal("0.91", new_rss.rss_version) - assert_equal(encoding, new_rss.encoding) - assert_equal(standalone, new_rss.standalone) - - xss = rss.xml_stylesheets.first - assert_equal(1, rss.xml_stylesheets.size) - assert_equal(href, xss.href) - assert_equal(type, xss.type) - assert_equal(title, xss.title) - assert_equal(media, xss.media) - assert_equal(charset, xss.charset) - assert_equal(alternate, xss.alternate) - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_setup_maker_1.0.rb b/ruby_1_8_6/test/rss/test_setup_maker_1.0.rb deleted file mode 100644 index 51a4d146c7..0000000000 --- a/ruby_1_8_6/test/rss/test_setup_maker_1.0.rb +++ /dev/null @@ -1,534 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestSetupMaker10 < TestCase - - def setup - t = Time.iso8601("2000-01-01T12:00:05+00:00") - class << t - alias_method(:to_s, :iso8601) - end - - @dc_elems = { - :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, - } - - @sy_elems = { - :updatePeriod => "hourly", - :updateFrequency => "2", - :updateBase => t, - } - - @content_elems = { - :encoded => "<em>ATTENTION</em>", - } - - @trackback_elems = { - :ping => "http://bar.com/tb.cgi?tb_id=rssplustrackback", - :about => [ - "http://foo.com/trackback/tb.cgi?tb_id=20020923", - "http://foo.com/trackback/tb.cgi?tb_id=20021010", - ], - } - - @taxo_topic_elems = [ - { - :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_setup_maker_channel - about = "http://hoge.com" - title = "fugafuga" - 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 - - @dc_elems.each do |var, value| - maker.channel.__send__("dc_#{var}=", value) - end - - @sy_elems.each do |var, value| - maker.channel.__send__("sy_#{var}=", value) - end - end - - new_rss = RSS::Maker.make("1.0") do |maker| - rss.channel.setup_maker(maker) - end - channel = new_rss.channel - - assert_equal(about, channel.about) - assert_equal(title, channel.title) - assert_equal(link, channel.link) - assert_equal(description, channel.description) - assert_equal(true, channel.items.Seq.lis.empty?) - assert_nil(channel.image) - assert_nil(channel.textinput) - - @dc_elems.each do |var, value| - assert_equal(value, channel.__send__("dc_#{var}")) - end - - @sy_elems.each do |var, value| - value = value.to_i if var == :updateFrequency - assert_equal(value, channel.__send__("sy_#{var}")) - end - - end - - def test_setup_maker_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - maker.channel.link = link - - maker.image.title = title - maker.image.url = url - - @dc_elems.each do |var, value| - maker.image.__send__("dc_#{var}=", value) - end - end - - new_rss = RSS::Maker.make("1.0") do |maker| - rss.channel.setup_maker(maker) - rss.image.setup_maker(maker) - end - - image = new_rss.image - assert_equal(url, image.about) - assert_equal(url, new_rss.channel.image.resource) - assert_equal(title, image.title) - assert_equal(link, image.link) - assert_equal(url, image.url) - - @dc_elems.each do |var, value| - assert_equal(image.__send__("dc_#{var}"), value) - end - end - - def test_setup_maker_textinput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.link = link - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - - @dc_elems.each do |var, value| - maker.textinput.__send__("dc_#{var}=", value) - end - end - - new_rss = RSS::Maker.make("1.0") do |maker| - rss.channel.setup_maker(maker) - rss.textinput.setup_maker(maker) - end - - textinput = new_rss.textinput - assert_equal(link, textinput.about) - assert_equal(link, new_rss.channel.textinput.resource) - assert_equal(title, textinput.title) - assert_equal(name, textinput.name) - assert_equal(description, textinput.description) - assert_equal(link, textinput.link) - - @dc_elems.each do |var, value| - assert_equal(textinput.__send__("dc_#{var}"), value) - end - end - - def test_setup_maker_items(for_backward_compatibility=false) - title = "TITLE" - link = "http://hoge.com/" - description = "text hoge fuga" - - item_size = 5 - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - - @dc_elems.each do |var, value| - item.__send__("dc_#{var}=", value) - end - - @content_elems.each do |var, value| - item.__send__("content_#{var}=", value) - end - - item.trackback_ping = @trackback_elems[:ping] - @trackback_elems[:about].each do |value| - item.trackback_abouts.new_about do |new_about| - new_about.value = value - end - end - end - end - end - - new_rss = RSS::Maker.make("1.0") do |maker| - rss.channel.setup_maker(maker) - - rss.items.each do |item| - if for_backward_compatibility - item.setup_maker(maker) - else - item.setup_maker(maker.items) - end - end - end - - assert_equal(item_size, new_rss.items.size) - new_rss.items.each_with_index do |item, i| - assert_equal("#{link}#{i}", item.about) - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - - @dc_elems.each do |var, value| - assert_equal(item.__send__("dc_#{var}"), value) - end - - @content_elems.each do |var, value| - assert_equal(item.__send__("content_#{var}"), value) - end - - assert_equal(@trackback_elems[:ping], item.trackback_ping) - assert_equal(@trackback_elems[:about].size, item.trackback_abouts.size) - item.trackback_abouts.each_with_index do |about, i| - assert_equal(@trackback_elems[:about][i], about.value) - end - end - end - - def test_setup_maker_items_sort - title = "TITLE" - link = "http://hoge.com/" - description = "text hoge fuga" - - item_size = 5 - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - item = RSS::RDF::Item.new("#{link}#{i}") - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - item.dc_date = Time.now + i * 60 - item.setup_maker(maker.items) - end - maker.items.do_sort = false - end - assert_equal(item_size, rss.items.size) - rss.items.each_with_index do |item, i| - assert_equal("#{link}#{i}", item.about) - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - - - rss = RSS::Maker.make("1.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - item = RSS::RDF::Item.new("#{link}#{i}") - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - item.dc_date = Time.now + i * 60 - item.setup_maker(maker.items) - end - maker.items.do_sort = true - end - assert_equal(item_size, rss.items.size) - rss.items.reverse.each_with_index do |item, i| - assert_equal("#{link}#{i}", item.about) - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - end - end - - def test_setup_maker_items_backward_compatibility - test_setup_maker_items(true) - end - - def test_setup_maker - encoding = "EUC-JP" - standalone = true - - href = 'a.xsl' - type = 'text/xsl' - title = 'sample' - media = 'printer' - charset = 'UTF-8' - alternate = 'yes' - - rss = RSS::Maker.make("1.0") do |maker| - maker.encoding = encoding - maker.standalone = standalone - - maker.xml_stylesheets.new_xml_stylesheet do |xss| - xss.href = href - xss.type = type - xss.title = title - xss.media = media - xss.charset = charset - xss.alternate = alternate - end - - setup_dummy_channel(maker) - end - - new_rss = RSS::Maker.make("1.0") do |maker| - rss.setup_maker(maker) - end - - assert_equal("1.0", new_rss.rss_version) - assert_equal(encoding, new_rss.encoding) - assert_equal(standalone, new_rss.standalone) - - xss = new_rss.xml_stylesheets.first - assert_equal(1, new_rss.xml_stylesheets.size) - assert_equal(href, xss.href) - assert_equal(type, xss.type) - assert_equal(title, xss.title) - assert_equal(media, xss.media) - assert_equal(charset, xss.charset) - assert_equal(alternate, xss.alternate) - end - - def test_setup_maker_full - encoding = "EUC-JP" - standalone = true - - href = 'a.xsl' - type = 'text/xsl' - title = 'sample' - media = 'printer' - charset = 'UTF-8' - alternate = 'yes' - - channel_about = "http://hoge.com" - channel_title = "fugafuga" - channel_link = "http://hoge.com" - channel_description = "fugafugafugafuga" - - image_title = "fugafuga" - image_url = "http://hoge.com/hoge.png" - - textinput_title = "fugafuga" - textinput_description = "text hoge fuga" - textinput_name = "hoge" - textinput_link = "http://hoge.com" - - item_title = "TITLE" - item_link = "http://hoge.com/" - item_description = "text hoge fuga" - - item_size = 5 - - rss = RSS::Maker.make("1.0") do |maker| - maker.encoding = encoding - maker.standalone = standalone - - maker.xml_stylesheets.new_xml_stylesheet do |xss| - xss.href = href - xss.type = type - xss.title = title - xss.media = media - xss.charset = charset - xss.alternate = alternate - end - - maker.channel.about = channel_about - maker.channel.title = channel_title - maker.channel.link = channel_link - maker.channel.description = channel_description - @dc_elems.each do |var, value| - maker.channel.__send__("dc_#{var}=", value) - end - @sy_elems.each do |var, value| - maker.channel.__send__("sy_#{var}=", value) - end - - maker.image.title = image_title - maker.image.url = image_url - @dc_elems.each do |var, value| - maker.image.__send__("dc_#{var}=", value) - end - - maker.textinput.link = textinput_link - maker.textinput.title = textinput_title - maker.textinput.description = textinput_description - maker.textinput.name = textinput_name - @dc_elems.each do |var, value| - maker.textinput.__send__("dc_#{var}=", value) - end - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{item_title}#{i}" - item.link = "#{item_link}#{i}" - item.description = "#{item_description}#{i}" - - @dc_elems.each do |var, value| - item.__send__("dc_#{var}=", value) - end - - @content_elems.each do |var, value| - item.__send__("content_#{var}=", value) - end - - item.trackback_ping = @trackback_elems[:ping] - @trackback_elems[:about].each do |value| - item.trackback_abouts.new_about do |new_about| - new_about.value = value - end - end - end - end - - setup_taxo_topic(maker, @taxo_topic_elems) - end - - new_rss = RSS::Maker.make("1.0") do |maker| - rss.setup_maker(maker) - end - - assert_equal("1.0", new_rss.rss_version) - assert_equal(encoding, new_rss.encoding) - assert_equal(standalone, new_rss.standalone) - - xss = new_rss.xml_stylesheets.first - assert_equal(1, new_rss.xml_stylesheets.size) - assert_equal(href, xss.href) - assert_equal(type, xss.type) - assert_equal(title, xss.title) - assert_equal(media, xss.media) - assert_equal(charset, xss.charset) - assert_equal(alternate, xss.alternate) - - channel = new_rss.channel - assert_equal(channel_about, channel.about) - assert_equal(channel_title, channel.title) - assert_equal(channel_link, channel.link) - assert_equal(channel_description, channel.description) - item_resources = [] - item_size.times do |i| - item_resources << "#{item_link}#{i}" - end - assert_equal(item_resources, channel.items.resources) - assert_equal(image_url, channel.image.resource) - assert_equal(textinput_link, channel.textinput.resource) - @dc_elems.each do |var, value| - assert_equal(value, channel.__send__("dc_#{var}")) - end - @sy_elems.each do |var, value| - value = value.to_i if var == :updateFrequency - assert_equal(value, channel.__send__("sy_#{var}")) - end - - image = new_rss.image - assert_equal(image_url, image.about) - assert_equal(image_url, new_rss.channel.image.resource) - assert_equal(image_title, image.title) - assert_equal(channel_link, image.link) - assert_equal(image_url, image.url) - @dc_elems.each do |var, value| - assert_equal(image.__send__("dc_#{var}"), value) - end - - textinput = new_rss.textinput - assert_equal(textinput_link, textinput.about) - assert_equal(textinput_link, new_rss.channel.textinput.resource) - assert_equal(textinput_title, textinput.title) - assert_equal(textinput_name, textinput.name) - assert_equal(textinput_description, textinput.description) - assert_equal(textinput_link, textinput.link) - @dc_elems.each do |var, value| - assert_equal(textinput.__send__("dc_#{var}"), value) - end - - assert_equal(item_size, new_rss.items.size) - new_rss.items.each_with_index do |item, i| - assert_equal("#{item_link}#{i}", item.about) - assert_equal("#{item_title}#{i}", item.title) - assert_equal("#{item_link}#{i}", item.link) - assert_equal("#{item_description}#{i}", item.description) - - @dc_elems.each do |var, value| - assert_equal(item.__send__("dc_#{var}"), value) - end - - @content_elems.each do |var, value| - assert_equal(item.__send__("content_#{var}"), value) - end - - assert_equal(@trackback_elems[:ping], item.trackback_ping) - assert_equal(@trackback_elems[:about].size, item.trackback_abouts.size) - item.trackback_abouts.each_with_index do |about, i| - assert_equal(@trackback_elems[:about][i], about.value) - end - end - - assert_taxo_topic(@taxo_topic_elems, new_rss) - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_setup_maker_2.0.rb b/ruby_1_8_6/test/rss/test_setup_maker_2.0.rb deleted file mode 100644 index 8fb727de8d..0000000000 --- a/ruby_1_8_6/test/rss/test_setup_maker_2.0.rb +++ /dev/null @@ -1,308 +0,0 @@ -require "rss-testcase" - -require "rss/maker" - -module RSS - class TestSetupMaker20 < TestCase - - def test_setup_maker_channel - title = "fugafuga" - link = "http://hoge.com" - description = "fugafugafugafuga" - language = "ja" - copyright = "foo" - managingEditor = "bar" - webMaster = "web master" - rating = '(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.rsac.org" on "1996.04.16T08:15-0500" r (n 0 s 0 v 0 l 0))' - docs = "http://foo.com/doc" - skipDays = [ - "Sunday", - "Monday", - ] - skipHours = [ - "0", - "13", - ] - pubDate = Time.now - lastBuildDate = Time.now - categories = [ - "Nespapers", - "misc", - ] - generator = "RSS Maker" - ttl = "60" - - rss = RSS::Maker.make("2.0") do |maker| - maker.channel.title = title - maker.channel.link = link - maker.channel.description = description - maker.channel.language = language - maker.channel.copyright = copyright - maker.channel.managingEditor = managingEditor - maker.channel.webMaster = webMaster - maker.channel.rating = rating - maker.channel.docs = docs - maker.channel.pubDate = pubDate - maker.channel.lastBuildDate = lastBuildDate - - skipDays.each do |day| - maker.channel.skipDays.new_day do |new_day| - new_day.content = day - end - end - skipHours.each do |hour| - maker.channel.skipHours.new_hour do |new_hour| - new_hour.content = hour - end - end - - - categories.each do |category| - maker.channel.categories.new_category do |new_category| - new_category.content = category - end - end - - maker.channel.generator = generator - maker.channel.ttl = ttl - end - - new_rss = RSS::Maker.make("2.0") do |maker| - rss.channel.setup_maker(maker) - end - channel = new_rss.channel - - assert_equal(title, channel.title) - assert_equal(link, channel.link) - assert_equal(description, channel.description) - assert_equal(language, channel.language) - assert_equal(copyright, channel.copyright) - assert_equal(managingEditor, channel.managingEditor) - assert_equal(webMaster, channel.webMaster) - assert_equal(rating, channel.rating) - assert_equal(docs, channel.docs) - 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.to_i, 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.to_i, channel.ttl) - - - assert(channel.items.empty?) - assert_nil(channel.image) - assert_nil(channel.textInput) - end - - def test_setup_maker_image - title = "fugafuga" - link = "http://hoge.com" - url = "http://hoge.com/hoge.png" - width = "144" - height = "400" - description = "an image" - - rss = 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 - end - - new_rss = RSS::Maker.make("2.0") do |maker| - rss.channel.setup_maker(maker) - rss.image.setup_maker(maker) - end - - image = new_rss.image - assert_equal(title, image.title) - assert_equal(link, image.link) - assert_equal(url, image.url) - assert_equal(width.to_i, image.width) - assert_equal(height.to_i, image.height) - assert_equal(description, image.description) - end - - def test_setup_maker_textinput - title = "fugafuga" - description = "text hoge fuga" - name = "hoge" - link = "http://hoge.com" - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - maker.textinput.title = title - maker.textinput.description = description - maker.textinput.name = name - maker.textinput.link = link - end - - new_rss = RSS::Maker.make("2.0") do |maker| - rss.channel.setup_maker(maker) - rss.textinput.setup_maker(maker) - end - - textInput = new_rss.channel.textInput - assert_equal(title, textInput.title) - assert_equal(description, textInput.description) - assert_equal(name, textInput.name) - assert_equal(link, textInput.link) - end - - def test_setup_maker_items(for_backward_compatibility=false) - title = "TITLE" - link = "http://hoge.com/" - description = "text hoge fuga" - author = "oprah@oxygen.net" - comments = "http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290" - pubDate = Time.now - - guid_isPermaLink = "true" - guid_content = "http://inessential.com/2002/09/01.php#a2" - - enclosure_url = "http://www.scripting.com/mp3s/weatherReportSuite.mp3" - enclosure_length = "12216320" - enclosure_type = "audio/mpeg" - - source_url = "http://static.userland.com/tomalak/links2.xml" - source_content = "Tomalak's Realm" - - category_domain = "http://www.fool.com/cusips" - category_content = "MSFT" - - item_size = 5 - - rss = RSS::Maker.make("2.0") do |maker| - setup_dummy_channel(maker) - - item_size.times do |i| - maker.items.new_item do |item| - item.title = "#{title}#{i}" - item.link = "#{link}#{i}" - item.description = "#{description}#{i}" - item.author = "#{author}#{i}" - item.comments = "#{comments}#{i}" - item.date = pubDate - - item.guid.isPermaLink = guid_isPermaLink - item.guid.content = guid_content - - item.enclosure.url = enclosure_url - item.enclosure.length = enclosure_length - item.enclosure.type = enclosure_type - - item.source.url = source_url - item.source.content = source_content - - category = item.categories.new_category - category.domain = category_domain - category.content = category_content - end - end - end - - new_rss = RSS::Maker.make("2.0") do |maker| - rss.channel.setup_maker(maker) - - rss.items.each do |item| - if for_backward_compatibility - item.setup_maker(maker) - else - item.setup_maker(maker.items) - end - end - end - - assert_equal(item_size, new_rss.items.size) - new_rss.items.each_with_index do |item, i| - assert_equal("#{title}#{i}", item.title) - assert_equal("#{link}#{i}", item.link) - assert_equal("#{description}#{i}", item.description) - assert_equal("#{author}#{i}", item.author) - assert_equal("#{comments}#{i}", item.comments) - assert_equal(pubDate, item.pubDate) - - assert_equal(guid_isPermaLink == "true", item.guid.isPermaLink) - assert_equal(guid_content, item.guid.content) - - assert_equal(enclosure_url, item.enclosure.url) - assert_equal(enclosure_length.to_i, item.enclosure.length) - assert_equal(enclosure_type, item.enclosure.type) - - assert_equal(source_url, item.source.url) - assert_equal(source_content, item.source.content) - - assert_equal(1, item.categories.size) - assert_equal(category_domain, item.category.domain) - assert_equal(category_content, item.category.content) - end - - end - - def test_setup_maker_items_backward_compatibility - test_setup_maker_items(true) - end - - def test_setup_maker - encoding = "EUC-JP" - standalone = true - - href = 'a.xsl' - type = 'text/xsl' - title = 'sample' - media = 'printer' - charset = 'UTF-8' - alternate = 'yes' - - rss = RSS::Maker.make("2.0") do |maker| - maker.encoding = encoding - maker.standalone = standalone - - maker.xml_stylesheets.new_xml_stylesheet do |xss| - xss.href = href - xss.type = type - xss.title = title - xss.media = media - xss.charset = charset - xss.alternate = alternate - end - - setup_dummy_channel(maker) - end - - new_rss = RSS::Maker.make("2.0") do |maker| - rss.setup_maker(maker) - end - - assert_equal("2.0", new_rss.rss_version) - assert_equal(encoding, new_rss.encoding) - assert_equal(standalone, new_rss.standalone) - - xss = rss.xml_stylesheets.first - assert_equal(1, rss.xml_stylesheets.size) - assert_equal(href, xss.href) - assert_equal(type, xss.type) - assert_equal(title, xss.title) - assert_equal(media, xss.media) - assert_equal(charset, xss.charset) - assert_equal(alternate, xss.alternate) - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_syndication.rb b/ruby_1_8_6/test/rss/test_syndication.rb deleted file mode 100644 index 697ff439e4..0000000000 --- a/ruby_1_8_6/test/rss/test_syndication.rb +++ /dev/null @@ -1,127 +0,0 @@ -require "cgi" -require "rexml/document" - -require "rss-testcase" - -require "rss/1.0" -require "rss/syndication" - -module RSS - class TestSyndication < TestCase - - def setup - @prefix = "sy" - @uri = "http://purl.org/rss/1.0/modules/syndication/" - - @parents = %w(channel) - - t = Time.iso8601("2000-01-01T12:00:05+00:00") - class << t - alias_method(:to_s, :iso8601) - end - - @elems = { - :updatePeriod => "hourly", - :updateFrequency => "2", - :updateBase => t, - } - - @sy_nodes = @elems.collect do |name, value| - "<#{@prefix}:#{name}>#{CGI.escapeHTML(value.to_s)}</#{@prefix}:#{name}>" - end.join("\n") - - @rss_source = make_RDF(<<-EOR, {@prefix => @uri}) -#{make_channel(@sy_nodes)} -#{make_image()} -#{make_item()} -#{make_textinput()} -EOR - - @rss = Parser.parse(@rss_source) - end - - def test_parser - - assert_nothing_raised do - Parser.parse(@rss_source) - end - - @elems.each do |tag, value| - assert_too_much_tag(tag.to_s, "channel") do - Parser.parse(make_RDF(<<-EOR, {@prefix => @uri})) -#{make_channel(("<" + @prefix + ":" + tag.to_s + ">" + - CGI.escapeHTML(value.to_s) + - "</" + @prefix + ":" + tag.to_s + ">") * 2)} -#{make_item} -EOR - end - end - - end - - def test_accessor - - t = Time.iso8601("2003-01-01T12:00:23+09:00") - class << t - alias_method(:to_s, :iso8601) - end - - new_value = { - :updatePeriod => "daily", - :updateFrequency => "11", - :updateBase => t, - } - - @elems.each do |name, value| - value = value.to_i if name == :updateFrequency - @parents.each do |parent| - assert_equal(value, @rss.__send__(parent).__send__("sy_#{name}")) - @rss.__send__(parent).__send__("sy_#{name}=", new_value[name]) - new_val = new_value[name] - new_val = new_val.to_i if name == :updateFrequency - assert_equal(new_val, @rss.__send__(parent).__send__("sy_#{name}")) - end - end - - %w(hourly daily weekly monthly yearly).each do |x| - @parents.each do |parent| - assert_nothing_raised do - @rss.__send__(parent).sy_updatePeriod = x - end - end - end - - %w(-2 0.3 -0.4).each do |x| - @parents.each do |parent| - assert_not_available_value("updateBase", x) do - @rss.__send__(parent).sy_updateBase = x - end - end - end - - end - - def test_to_s - - @elems.each do |name, value| - excepted = "<#{@prefix}:#{name}>#{value}</#{@prefix}:#{name}>" - @parents.each do |parent| - assert_equal(excepted, - @rss.__send__(parent).__send__("sy_#{name}_element")) - end - end - - REXML::Document.new(@rss_source).root.each_element do |parent| - if @parents.include?(parent.name) - parent.each_element do |elem| - if elem.namespace == @uri - assert_equal(elem.text, @elems[elem.name.intern].to_s) - end - end - end - end - - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_taxonomy.rb b/ruby_1_8_6/test/rss/test_taxonomy.rb deleted file mode 100644 index 5109f3d892..0000000000 --- a/ruby_1_8_6/test/rss/test_taxonomy.rb +++ /dev/null @@ -1,172 +0,0 @@ -require "cgi" - -require "rss-testcase" - -require "rss/1.0" -require "rss/2.0" -require "rss/taxonomy" - -module RSS - class TestTaxonomy < TestCase - - def setup - @prefix = "taxo" - @uri = "http://purl.org/rss/1.0/modules/taxonomy/" - @dc_prefix = "dc" - @dc_uri = "http://purl.org/dc/elements/1.1/" - - @ns = { - @prefix => @uri, - @dc_prefix => @dc_uri, - } - - @topics_parents = %w(channel item) - - @topics_lis = [ - "http://meerkat.oreillynet.com/?c=cat23", - "http://meerkat.oreillynet.com/?c=47", - "http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/", - ] - - @topics_node = "<#{@prefix}:topics>\n" - @topics_node << " <rdf:Bag>\n" - @topics_lis.each do |value| - resource = CGI.escapeHTML(value) - @topics_node << " <rdf:li resource=\"#{resource}\"/>\n" - end - @topics_node << " </rdf:Bag>\n" - @topics_node << "</#{@prefix}:topics>" - - @topic_topics_lis = \ - [ - "http://meerkat.oreillynet.com/?c=cat23", - "http://dmoz.org/Computers/Data_Formats/Markup_Languages/SGML/", - "http://dmoz.org/Computers/Programming/Internet/", - ] - - @topic_contents = \ - [ - { - :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 => @topic_topics_lis, - } - ] - - @topic_nodes = @topic_contents.collect do |info| - link = info[:link] - rv = "<#{@prefix}:topic rdf:about=\"#{link}\">\n" - info.each do |name, value| - case name - when :topics - rv << " <#{@prefix}:topics>\n" - rv << " <rdf:Bag>\n" - value.each do |li| - resource = CGI.escapeHTML(li) - rv << " <rdf:li resource=\"#{resource}\"/>\n" - end - rv << " </rdf:Bag>\n" - rv << " </#{@prefix}:topics>\n" - else - prefix = (name == :link ? @prefix : @dc_prefix) - rv << " <#{prefix}:#{name}>#{value}</#{prefix}:#{name}>\n" - end - end - rv << "</#{@prefix}:topic>" - end - - @rss_source = make_RDF(<<-EOR, @ns) -#{make_channel(@topics_node)} -#{make_image()} -#{make_item(@topics_node)} -#{make_textinput()} -#{@topic_nodes.join("\n")} -EOR - - @rss = Parser.parse(@rss_source) - end - - def test_parser - assert_nothing_raised do - Parser.parse(@rss_source) - end - - assert_too_much_tag("topics", "channel") do - Parser.parse(make_RDF(<<-EOR, @ns)) -#{make_channel(@topics_node * 2)} -#{make_item()} -EOR - end - - assert_too_much_tag("topics", "item") do - Parser.parse(make_RDF(<<-EOR, @ns)) -#{make_channel()} -#{make_item(@topics_node * 2)} -EOR - end - end - - def test_accessor - topics = @rss.channel.taxo_topics - assert_equal(@topics_lis.sort, - topics.Bag.lis.collect {|li| li.resource}.sort) - assert_equal(@topics_lis.sort, topics.resources.sort) - - assert_equal(@rss.taxo_topics.first, @rss.taxo_topic) - - @topic_contents.each_with_index do |info, i| - topic = @rss.taxo_topics[i] - info.each do |name, value| - case name - when :link - assert_equal(value, topic.about) - assert_equal(value, topic.taxo_link) - when :topics - assert_equal(value.sort, topic.taxo_topics.resources.sort) - else - assert_equal(value, topic.__send__("dc_#{name}")) - end - end - end - end - - def test_to_s - @topics_parents.each do |parent| - meth = "taxo_topics_element" - assert_equal(@topics_node, @rss.__send__(parent).__send__(meth)) - end - - @topic_nodes.each_with_index do |node, i| - expected_xml = taxo_xmlns_container(node) - expected = REXML::Document.new(expected_xml).root.elements[1] - actual_xml = taxo_xmlns_container(@rss.taxo_topics[i].to_s(true, "")) - actual = REXML::Document.new(actual_xml).root.elements[1] - expected_elems = expected.reject {|x| x.is_a?(REXML::Text)} - actual_elems = actual.reject {|x| x.is_a?(REXML::Text)} - expected_elems.sort! {|x, y| x.name <=> y.name} - actual_elems.sort! {|x, y| x.name <=> y.name} - assert_equal(expected_elems.collect {|x| x.to_s}, - actual_elems.collect {|x| x.to_s}) - assert_equal(expected.attributes.sort, actual.attributes.sort) - end - end - - private - def taxo_xmlns_container(content) - xmlns_container({ - @prefix => @uri, - "dc" => "http://purl.org/dc/elements/1.1/", - "rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - }, - content) - end - end -end - diff --git a/ruby_1_8_6/test/rss/test_to_s.rb b/ruby_1_8_6/test/rss/test_to_s.rb deleted file mode 100644 index 1538534034..0000000000 --- a/ruby_1_8_6/test/rss/test_to_s.rb +++ /dev/null @@ -1,440 +0,0 @@ -require "rexml/document" - -require "rss-testcase" - -require "rss/maker" -require "rss/1.0" -require "rss/2.0" -require "rss/content" -require "rss/dublincore" -require "rss/syndication" -require "rss/trackback" - -module RSS - class TestToS < TestCase - - def setup - @image_url = "http://example.com/foo.png" - @textinput_link = "http://example.com/search.cgi" - @item_links = [ - "http://example.com/1", - "http://example.com/2", - ] - - setup_xml_declaration_info - setup_xml_stylesheet_infos - setup_channel_info - setup_item_infos - setup_image_info - setup_textinput_info - - setup_dublin_core_info - setup_syndication_info - setup_content_info - setup_trackback_info - end - - def test_to_s_10 - rss = RSS::Maker.make("1.0") do |maker| - setup_full(maker) - end - - assert_xml_declaration(@version, @encoding, @standalone, rss) - assert_xml_stylesheets(@xs_infos, rss.xml_stylesheets) - assert_channel10(@channel_info, rss.channel) - assert_items10(@item_infos, rss.items) - rss.items.each do |item| - assert_trackback(@trackback_info, item) - end - assert_image10(@image_info, rss.image) - assert_textinput10(@textinput_info, rss.textinput) - - rss = RSS::Parser.parse(rss.to_s) - - assert_xml_declaration(@version, @encoding, @standalone, rss) - assert_xml_stylesheets(@xs_infos, rss.xml_stylesheets) - assert_channel10(@channel_info, rss.channel) - assert_items10(@item_infos, rss.items) - assert_image10(@image_info, rss.image) - assert_textinput10(@textinput_info, rss.textinput) - end - - def test_to_s_09 - rss = RSS::Maker.make("0.91") do |maker| - setup_full(maker) - end - - assert_xml_declaration(@version, @encoding, @standalone, rss) - assert_xml_stylesheets(@xs_infos, rss.xml_stylesheets) - assert_channel09(@channel_info, rss.channel) - assert_items09(@item_infos, rss.items) - assert_image09(@image_info, rss.image) - assert_textinput09(@textinput_info, rss.textinput) - - rss = RSS::Parser.parse(rss.to_s) - - assert_xml_declaration(@version, @encoding, @standalone, rss) - assert_xml_stylesheets(@xs_infos, rss.xml_stylesheets) - assert_channel09(@channel_info, rss.channel) - assert_items09(@item_infos, rss.items) - assert_image09(@image_info, rss.image) - assert_textinput09(@textinput_info, rss.textinput) - end - - def test_to_s_20 - rss = RSS::Maker.make("2.0") do |maker| - setup_full(maker) - end - - assert_xml_declaration(@version, @encoding, @standalone, rss) - assert_xml_stylesheets(@xs_infos, rss.xml_stylesheets) - assert_channel20(@channel_info, rss.channel) - assert_items20(@item_infos, rss.items) - assert_image20(@image_info, rss.image) - assert_textinput20(@textinput_info, rss.textinput) - - rss = RSS::Parser.parse(rss.to_s) - - assert_xml_declaration(@version, @encoding, @standalone, rss) - assert_xml_stylesheets(@xs_infos, rss.xml_stylesheets) - assert_channel20(@channel_info, rss.channel) - assert_items20(@item_infos, rss.items) - assert_image20(@image_info, rss.image) - assert_textinput20(@textinput_info, rss.textinput) - end - - private - def setup_xml_declaration_info - @version = "1.0" - @encoding = "UTF-8" - @standalone = false - end - - def setup_xml_stylesheet_infos - @xs_infos = [ - { - "href" => "XXX.xsl", - "type" => "text/xsl", - "title" => "XXX", - "media" => "print", - "alternate" => "no", - }, - { - "href" => "YYY.css", - "type" => "text/css", - "title" => "YYY", - "media" => "all", - "alternate" => "no", - }, - ] - end - - def setup_channel_info - @channel_info = { - "about" => "http://example.com/index.rdf", - "title" => "Sample RSS", - "link" => "http://example.com/", - "description" => "Sample\n\n\n\n\nSite", - "language" => "en", - "copyright" => "FDL", - "managingEditor" => "foo@example.com", - "webMaster" => "webmaster@example.com", - "rating" => '(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.rsac.org" on "1996.04.16T08:15-0500" r (n 0 s 0 v 0 l 0))', - "docs" => "http://backend.userland.com/rss091", - "skipDays" => [ - "Monday", - "Friday", - ], - "skipHours" => [ - "12", - "23", - ], - "date" => Time.now, - "lastBuildDate" => Time.now - 3600, - "generator" => "RSS Maker", - "ttl" => "60", - "cloud" => { - "domain" => "rpc.sys.com", - "port" => "80", - "path" => "/RPC2", - "registerProcedure" => "myCloud.rssPleaseNotify", - "protocol" => "xml-rpc", - }, - "category" => { - "domain" => "http://example.com/misc/", - "content" => "misc", - }, - - "image" => { - "resource" => @image_url, - }, - - "textinput" => { - "resource" => @textinput_link, - }, - - "items" => @item_links.collect{|link| {"resource" => link}}, - } - end - - def setup_item_infos - @item_infos = [ - { - "title" => "Sample item1", - "link" => @item_links[0], - "description" => "Sample description1", - "date" => Time.now - 3600, - "author" => "foo@example.com", - "comments" => "http://example.com/1/comments", - "guid" => { - "isPermaLink" => "true", - "content" => "http://example.com/1", - }, - "enclosure" => { - "url" => "http://example.com/1.mp3", - "length" => "100", - "type" => "audio/mpeg", - }, - "source" => { - "url" => "http:/example.com/", - "content" => "Sample site", - }, - "category" => { - "domain" => "http://example.com/misc/", - "content" => "misc", - }, - }, - - { - "title" => "Sample item2", - "link" => @item_links[1], - "description" => "Sample description2", - "date" => Time.now - 7200, - "author" => "foo@example.com", - "comments" => "http://example.com/2/comments", - "guid" => { - "isPermaLink" => "false", - "content" => "http://example.com/2", - }, - "enclosure" => { - "url" => "http://example.com/2.mp3", - "length" => "200", - "type" => "audio/mpeg", - }, - "source" => { - "url" => "http:/example.com/", - "content" => "Sample site", - }, - "category" => { - "domain" => "http://example.com/misc/", - "content" => "misc", - }, - }, - ] - end - - def setup_image_info - @image_info = { - "title" => "Sample image", - "url" => @image_url, - "width" => "88", - "height" => "31", - "description" => "Sample", - } - end - - def setup_textinput_info - @textinput_info = { - "title" => "Sample textinput", - "description" => "Search", - "name" => "key", - "link" => @textinput_link, - } - end - - def setup_dublin_core_info - @dc_info = { - "title" => "DC title", - "description" => "DC desc", - "creator" => "DC creator", - "subject" => "DC subject", - "publisher" => "DC publisher", - "contributor" => "DC contributor", - "type" => "DC type", - "format" => "DC format", - "identifier" => "DC identifier", - "source" => "DC source", - "language" => "ja", - "relation" => "DC relation", - "coverage" => "DC coverage", - "rights" => "DC rights", - "date" => Time.now - 60, - } - end - - def setup_syndication_info - @sy_info = { - "updatePeriod" => "hourly", - "updateFrequency" => "2", - "updateBase" => Time.now - 3600, - } - end - - def setup_content_info - @content_info = { - "encoded" => "<p>p</p>", - } - end - - def setup_trackback_info - @trackback_info = { - "ping" => "http://example.com/tb.cgi?tb_id=XXX", - "abouts" => [ - "http://example.net/tb.cgi?tb_id=YYY", - "http://example.org/tb.cgi?tb_id=ZZZ", - ] - } - end - - - def setup_full(maker) - setup_xml_declaration(maker) - setup_xml_stylesheets(maker) - setup_channel(maker) - setup_image(maker) - setup_items(maker) - setup_textinput(maker) - end - - def setup_xml_declaration(maker) - %w(version encoding standalone).each do |name| - maker.__send__("#{name}=", instance_eval("@#{name}")) - end - end - - def setup_xml_stylesheets(maker) - @xs_infos.each do |info| - xs = maker.xml_stylesheets.new_xml_stylesheet - info.each do |name, value| - xs.__send__("#{name}=", value) - end - end - end - - def setup_channel(maker) - channel = maker.channel - info = @channel_info - - %w(about title link description language copyright - managingEditor webMaster rating docs date - lastBuildDate generator ttl).each do |name| - channel.__send__("#{name}=", info[name]) - end - - skipDays = channel.skipDays - info["skipDays"].each do |day| - new_day = skipDays.new_day - new_day.content = day - end - - skipHours = channel.skipHours - info["skipHours"].each do |hour| - new_hour = skipHours.new_hour - new_hour.content = hour - end - - cloud = channel.cloud - %w(domain port path registerProcedure protocol).each do |name| - cloud.__send__("#{name}=", info["cloud"][name]) - end - - category = channel.categories.new_category - %w(domain content).each do |name| - category.__send__("#{name}=", info["category"][name]) - end - end - - def setup_image(maker) - image = maker.image - info = @image_info - - %w(title url width height description).each do |name| - image.__send__("#{name}=", info[name]) - end - end - - def setup_items(maker) - items = maker.items - - @item_infos.each do |info| - item = items.new_item - %w(title link description date author comments).each do |name| - item.__send__("#{name}=", info[name]) - end - - guid = item.guid - %w(isPermaLink content).each do |name| - guid.__send__("#{name}=", info["guid"][name]) - end - - enclosure = item.enclosure - %w(url length type).each do |name| - enclosure.__send__("#{name}=", info["enclosure"][name]) - end - - source = item.source - %w(url content).each do |name| - source.__send__("#{name}=", info["source"][name]) - end - - category = item.categories.new_category - %w(domain content).each do |name| - category.__send__("#{name}=", info["category"][name]) - end - - setup_trackback(item) - end - end - - def setup_textinput(maker) - textinput = maker.textinput - info = @textinput_info - - %w(title description name link).each do |name| - textinput.__send__("#{name}=", info[name]) - end - end - - def setup_content(target) - prefix = "content" - %w(encoded).each do |name| - target.__send__("#{prefix}_#{name}=", @content_info[name]) - end - end - - def setup_dublin_core(target) - prefix = "dc" - %w(title description creator subject publisher - contributor type format identifier source language - relation coverage rights).each do |name| - target.__send__("#{prefix}_#{name}=", @dc_info[name]) - end - end - - def setup_syndicate(target) - prefix = "sy" - %w(updatePeriod updateFrequency updateBase).each do |name| - target.__send__("#{prefix}_#{name}=", @sy_info[name]) - end - end - - def setup_trackback(target) - target.trackback_ping = @trackback_info["ping"] - @trackback_info["abouts"].each do |about| - new_about = target.trackback_abouts.new_about - new_about.value = about - end - end - - end -end diff --git a/ruby_1_8_6/test/rss/test_trackback.rb b/ruby_1_8_6/test/rss/test_trackback.rb deleted file mode 100644 index 26812d9010..0000000000 --- a/ruby_1_8_6/test/rss/test_trackback.rb +++ /dev/null @@ -1,135 +0,0 @@ -require "cgi" -require "rexml/document" - -require "rss-testcase" - -require "rss/1.0" -require "rss/2.0" -require "rss/trackback" - -module RSS - class TestTrackBack < TestCase - - def setup - @prefix = "trackback" - @uri = "http://madskills.com/public/xml/rss/module/trackback/" - - @parents = %w(item) - - @elems = { - :ping => "http://bar.com/tb.cgi?tb_id=rssplustrackback", - :about => "http://foo.com/trackback/tb.cgi?tb_id=20020923", - } - - @content_nodes = @elems.collect do |name, value| - "<#{@prefix}:#{name} rdf:resource=\"#{CGI.escapeHTML(value.to_s)}\"/>" - end.join("\n") - - @content_nodes2 = @elems.collect do |name, value| - "<#{@prefix}:#{name}>#{CGI.escapeHTML(value.to_s)}</#{@prefix}:#{name}>" - end.join("\n") - - @rss_source = make_RDF(<<-EOR, {@prefix => @uri}) -#{make_channel()} -#{make_image()} -#{make_item(@content_nodes)} -#{make_textinput()} -EOR - - @rss = Parser.parse(@rss_source) - - @rss20_source = make_rss20(nil, {@prefix => @uri}) do - make_channel20(nil) do - make_item20(@content_nodes2) - end - end - - @rss20 = Parser.parse(@rss20_source, false) - end - - def test_parser - - assert_nothing_raised do - Parser.parse(@rss_source) - end - - @elems.find_all{|k, v| k == :ping}.each do |tag, value| - assert_too_much_tag(tag.to_s, "item") do - Parser.parse(make_RDF(<<-EOR, {@prefix => @uri})) -#{make_channel()} -#{make_item(("<" + @prefix + ":" + tag.to_s + " rdf:resource=\"" + - CGI.escapeHTML(value.to_s) + - "\"/>") * 2)} -EOR - end - end - - @elems.find_all{|k, v| k == :about}.each do |tag, value| - assert_missing_tag("trackback:ping", "item") do - Parser.parse(make_RDF(<<-EOR, {@prefix => @uri})) -#{make_channel()} -#{make_item(("<" + @prefix + ":" + tag.to_s + " rdf:resource=\"" + - CGI.escapeHTML(value.to_s) + - "\"/>") * 2)} -EOR - end - - end - - end - - def test_accessor - - new_value = { - :ping => "http://baz.com/trackback/tb.cgi?tb_id=20030808", - :about => "http://hoge.com/trackback/tb.cgi?tb_id=90030808", - } - - @elems.each do |name, value| - @parents.each do |parent| - accessor = "#{RSS::TRACKBACK_PREFIX}_#{name}" - target = @rss.__send__(parent) - target20 = @rss20.channel.__send__(parent, -1) - assert_equal(value, target.__send__(accessor)) - assert_equal(value, target20.__send__(accessor)) - 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__(accessor)) - assert_equal(new_value[name], target20.__send__(accessor)) - end - end - - end - - def test_to_s - - @elems.each do |name, value| - excepted = %Q!<#{@prefix}:#{name} rdf:resource="#{CGI.escapeHTML(value)}"/>! - @parents.each do |parent| - meth = "#{RSS::TRACKBACK_PREFIX}_#{name}_element" - meth << "s" if name == :about - assert_equal(excepted, @rss.__send__(parent).__send__(meth)) - end - end - - REXML::Document.new(@rss_source).root.each_element do |parent| - if @parents.include?(parent.name) - parent.each_element do |elem| - if elem.namespace == @uri - assert_equal(elem.attributes["resource"], @elems[elem.name.intern]) - end - end - end - end - - end - - end -end - diff --git a/ruby_1_8_6/test/rss/test_version.rb b/ruby_1_8_6/test/rss/test_version.rb deleted file mode 100644 index 237f364b20..0000000000 --- a/ruby_1_8_6/test/rss/test_version.rb +++ /dev/null @@ -1,9 +0,0 @@ -require "rss-testcase" - -module RSS - class TestVersion < TestCase - def test_version - assert_equal("0.1.6", ::RSS::VERSION) - end - end -end diff --git a/ruby_1_8_6/test/rss/test_xml-stylesheet.rb b/ruby_1_8_6/test/rss/test_xml-stylesheet.rb deleted file mode 100644 index c88a858f56..0000000000 --- a/ruby_1_8_6/test/rss/test_xml-stylesheet.rb +++ /dev/null @@ -1,108 +0,0 @@ -require "rexml/document" - -require "rss-testcase" - -require "rss/1.0" -require "rss/xml-stylesheet" - -module RSS - class TestXMLStyleSheet < TestCase - - def test_accessor - [ - {:href => "a.xsl", :type => "text/xsl"}, - {:media => "print", :title => "FOO"}, - {:charset => "UTF-8", :alternate => "yes"}, - ].each do |attrs| - assert_xml_stylesheet_attrs(attrs, XMLStyleSheet.new(*attrs)) - end - end - - def test_to_s - [ - {:href => "a.xsl", :type => "text/xsl"}, - {:type => "text/xsl"}, - {:href => "a.xsl", :guess_type => "text/xsl"}, - {:href => "a.css", :type => "text/css"}, - {:href => "a.css", :type => "text/xsl", - :guess_type => "text/css"}, - {:href => "a.xsl", :type => "text/xsl", - :title => "sample", :media => "printer", - :charset => "UTF-8", :alternate => "yes"}, - {:href => "a.css", :guess_type => "text/css", - :alternate => "no"}, - {:type => "text/xsl", :title => "sample", - :media => "printer", :charset => "UTF-8", - :alternate => "yes"}, - ].each do |attrs| - target, contents = parse_pi(XMLStyleSheet.new(*attrs).to_s) - assert_xml_stylesheet(target, attrs, XMLStyleSheet.new(*contents)) - end - end - - def test_bad_alternate - %w(a ___ ??? BAD_ALTERNATE).each do |value| - xss = XMLStyleSheet.new - assert_raise(NotAvailableValueError) do - xss.alternate = value - end - xss.do_validate = false - assert_nothing_raised do - xss.alternate = value - end - assert_nil(xss.alternate) - end - end - - def test_parse - [ - [{:href => "a.xsl", :type => "text/xsl"},], - [{:media => "print", :title => "FOO"},], - [{:charset => "UTF-8", :alternate => "yes"},], - [{:href => "a.xsl", :type => "text/xsl"}, - {:type => "text/xsl"}, - {:href => "a.xsl", :guess_type => "text/xsl"}, - {:href => "a.css", :type => "text/css"}, - {:href => "a.css", :type => "text/xsl", - :guess_type => "text/css"}, - {:href => "a.xsl", :type => "text/xsl", - :title => "sample", :media => "printer", - :charset => "UTF-8", :alternate => "yes"}, - {:href => "a.css", :guess_type => "text/css", - :alternate => "no"}, - {:type => "text/xsl", :title => "sample", - :media => "printer", :charset => "UTF-8", - :alternate => "yes"},], - ].each do |xsss| - doc = REXML::Document.new(make_sample_RDF) - root = doc.root - xsss.each do |xss| - content = xss.collect do |key, name| - %Q[#{key}="#{name}"] - end.join(" ") - pi = REXML::Instruction.new("xml-stylesheet", content) - root.previous_sibling = pi - end - rss = Parser.parse(doc.to_s) - have_href_xsss = xsss.find_all {|xss| xss.has_key?(:href)} - 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, have_href_xsss[i], stylesheet) - end - end - end - - def parse_pi(pi) - /\A\s*<\?(\S+)([^(?:\?>)]+)\?>\s*\z/ =~ pi - target = $1 - dummy = REXML::Document.new("<dummy #{$2}/>").root - contents = {} - dummy.attributes.each do |name, value| - contents[name] = value - end - [target, contents] - end - - end -end |