summaryrefslogtreecommitdiff
path: root/test/rss/test_maker_image.rb
blob: d01654c91bdd80e7483a9a6e2d02d4b16e39ab5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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