module Test module Unit module Assertions # For backward compatibility unless instance_methods.include?("assert_raise") def assert_raise(*args, &block) assert_raises(*args, &block) end end end end end module RSS module Assertions def assert_parse(rss, assert_method, *args) send("assert_#{assert_method}", *args) do ::RSS::Parser.parse(rss) end send("assert_#{assert_method}", *args) do ::RSS::Parser.parse(rss, false).validate end end def assert_ns(prefix, uri) _wrap_assertion do begin yield flunk("Not raise NSError") rescue ::RSS::NSError => e assert_equal(prefix, e.prefix) assert_equal(uri, e.uri) end end end def assert_missing_tag(tag, parent) _wrap_assertion do begin yield flunk("Not raise MissingTagError") rescue ::RSS::MissingTagError => e assert_equal(tag, e.tag) assert_equal(parent, e.parent) end end end def assert_too_much_tag(tag, parent) _wrap_assertion do begin yield flunk("Not raise TooMuchTagError") rescue ::RSS::TooMuchTagError => e assert_equal(tag, e.tag) assert_equal(parent, e.parent) end end end def assert_missing_attribute(tag, attrname) _wrap_assertion do begin yield flunk("Not raise MissingAttributeError") rescue ::RSS::MissingAttributeError => e assert_equal(tag, e.tag) assert_equal(attrname, e.attribute) end end end def assert_not_excepted_tag(tag, parent) _wrap_assertion do begin yield flunk("Not raise NotExceptedTagError") rescue ::RSS::NotExceptedTagError => e assert_equal(tag, e.tag) assert_equal(parent, e.parent) end end end def assert_not_available_value(tag, value) _wrap_assertion do begin yield flunk("Not raise NotAvailableValueError") rescue ::RSS::NotAvailableValueError => e assert_equal(tag, e.tag) assert_equal(value, e.value) end end end def assert_not_set_error(name, variables) _wrap_assertion do begin yield flunk("Not raise NotSetError") rescue ::RSS::NotSetError => e assert_equal(name, e.name) assert_equal(variables.sort, e.variables.sort) end end end def assert_xml_declaration(version, encoding, standalone, rss) _wrap_assertion do assert_equal(version, rss.version) assert_equal(encoding, rss.encoding) assert_equal(standalone, rss.standalone) end end def assert_xml_stylesheet_attrs(attrs, xsl) _wrap_assertion do n_attrs = normalized_attrs(attrs) ::RSS::XMLStyleSheet::ATTRIBUTES.each do |name| assert_equal(n_attrs[name], xsl.send(name)) end end end def assert_xml_stylesheet(target, attrs, xsl) _wrap_assertion do if attrs.has_key?(:href) if !attrs.has_key?(:type) and attrs.has_key?(:guess_type) attrs[:type] = attrs[:guess_type] end assert_equal("xml-stylesheet", target) assert_xml_stylesheet_attrs(attrs, xsl) else assert_nil(target) assert_equal("", xsl.to_s) end end end def assert_xml_stylesheet_pis(attrs_ary) _wrap_assertion do rdf = ::RSS::RDF.new() xss_strs = [] attrs_ary.each do |attrs| xss = ::RSS::XMLStyleSheet.new(*attrs) xss_strs.push(xss.to_s) rdf.xml_stylesheets.push(xss) end pi_str = rdf.to_s.gsub(/<\?xml .*\n/, "").gsub(/\s*