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