1require "rss-testcase"
2
3require "rss/1.0"
4
5module RSS
6  class TestInherit < TestCase
7
8    class InheritedImage < RSS::RDF::Image
9      def self.indent_size; 1; end
10      def self.tag_name; 'image'; end
11    end
12
13    def setup
14      @rss = make_RDF(<<-EOR)
15#{make_channel}
16#{make_image}
17#{make_item}
18#{make_textinput}
19EOR
20    end
21
22    def test_inherit
23      rss = RSS::Parser.parse(@rss)
24      orig_image = rss.image
25      prefix = "[INHERIT]"
26      image = InheritedImage.new("#{prefix} #{orig_image.about}")
27      image.title = "#{prefix} #{orig_image.title}"
28      image.url = "#{prefix} #{orig_image.url}"
29      image.link = "#{prefix} #{orig_image.link}"
30      rss.image = image
31
32      new_rss = RSS::Parser.parse(rss.to_s)
33      new_image = new_rss.image
34      assert_equal("#{prefix} #{orig_image.about}", new_image.about)
35      assert_equal("#{prefix} #{orig_image.title}", new_image.title)
36      assert_equal("#{prefix} #{orig_image.url}", new_image.url)
37      assert_equal("#{prefix} #{orig_image.link}", new_image.link)
38    end
39  end
40end
41