diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-21 09:20:47 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-21 09:20:47 +0000 |
commit | 7ead69e5b3a2b09878037f11a7dda59ae402ccbf (patch) | |
tree | f7a422e5983f2c475c831e5d70987437eb77fa69 /test/rss/my-assertions.rb | |
parent | 2639d6dc809a3f78c96543c839d72d05e6e90ca7 (diff) |
* test/rss/test_xml-stylesheet.rb: added tests for xml-stylesheet.
* lib/rss/xml-stylesheet.rb: added xml-stylesheet parsing
function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rss/my-assertions.rb')
-rw-r--r-- | test/rss/my-assertions.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/rss/my-assertions.rb b/test/rss/my-assertions.rb index 02cedfb736..3829fdbd5c 100644 --- a/test/rss/my-assertions.rb +++ b/test/rss/my-assertions.rb @@ -84,7 +84,46 @@ module Test end end end + + def assert_xml_stylesheet_attrs(xsl, attrs) + _wrap_assertion do + normalized_attrs = {} + attrs.each do |name, value| + normalized_attrs[name.to_s] = value + end + ::RSS::XMLStyleSheet::ATTRIBUTES.each do |name| + assert_equal(normalized_attrs[name], xsl.send(name)) + end + end + end + + def assert_xml_stylesheet(target, xsl, attrs) + _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(xsl, attrs) + else + assert_nil(target) + assert_equal("", xsl.to_s) + end + end + end + def assert_xml_stylesheet_pis(attrs_ary) + 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*<rdf:RDF.*\z/m, "") + assert_equal(xss_strs.join("\n"), pi_str) + end + end end end |