require_relative "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