Submit
Path:
~
/
/
lib
/
ruby
/
gems
/
3.0.0
/
gems
/
rss-0.2.9
/
test
/
File Content:
test_image.rb
# frozen_string_literal: false require "cgi" require "rexml/document" require_relative "rss-testcase" require "rss/1.0" require "rss/image" module RSS class TestImage < TestCase def setup @prefix = "image" @uri = "http://purl.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 attrs = {"rdf:about" => "http://www.example.org/item.png"} contents = [["#{@prefix}:width", "80"]] * 5 image_item = make_element("#{@prefix}:item", attrs, contents) assert_too_much_tag("width", "item") do Parser.parse(make_RDF(<<-EOR, @ns)) #{make_channel} #{make_item(image_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
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
dot.png
109 bytes
0644
rss-assertions.rb
70726 bytes
0644
rss-testcase.rb
11967 bytes
0644
run-test.rb
290 bytes
0644
test_1.0.rb
8353 bytes
0644
test_2.0.rb
12582 bytes
0644
test_accessor.rb
2565 bytes
0644
test_atom.rb
22324 bytes
0644
test_content.rb
2674 bytes
0644
test_dublincore.rb
9271 bytes
0644
test_image.rb
7058 bytes
0644
test_inherit.rb
1087 bytes
0644
test_itunes.rb
13695 bytes
0644
test_maker_0.9.rb
14162 bytes
0644
test_maker_1.0.rb
14729 bytes
0644
test_maker_2.0.rb
22680 bytes
0644
test_maker_atom_entry.rb
14097 bytes
0644
test_maker_atom_feed.rb
16574 bytes
0644
test_maker_content.rb
1049 bytes
0644
test_maker_dc.rb
4247 bytes
0644
test_maker_image.rb
1883 bytes
0644
test_maker_itunes.rb
19420 bytes
0644
test_maker_slash.rb
832 bytes
0644
test_maker_sy.rb
919 bytes
0644
test_maker_taxo.rb
2292 bytes
0644
test_maker_trackback.rb
1000 bytes
0644
test_maker_xml-stylesheet.rb
2041 bytes
0644
test_parser.rb
2832 bytes
0644
test_parser_1.0.rb
12359 bytes
0644
test_parser_2.0.rb
2955 bytes
0644
test_parser_atom_entry.rb
4302 bytes
0644
test_parser_atom_feed.rb
7630 bytes
0644
test_setup_maker_0.9.rb
7049 bytes
0644
test_setup_maker_1.0.rb
16592 bytes
0644
test_setup_maker_2.0.rb
9174 bytes
0644
test_setup_maker_atom_entry.rb
12667 bytes
0644
test_setup_maker_atom_feed.rb
13859 bytes
0644
test_setup_maker_itunes.rb
4555 bytes
0644
test_setup_maker_slash.rb
1023 bytes
0644
test_slash.rb
1349 bytes
0644
test_syndication.rb
3124 bytes
0644
test_taxonomy.rb
5076 bytes
0644
test_to_s.rb
19680 bytes
0644
test_trackback.rb
3770 bytes
0644
test_xml-stylesheet.rb
3562 bytes
0644
N4ST4R_ID | Naxtarrr