diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-13 01:40:36 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-13 01:40:36 +0000 |
commit | d858c2954dac6d371d1412497cf59afdade977a0 (patch) | |
tree | ece453e1118aa3609507d3d4a3a6569fec85284a /test/rexml | |
parent | 0b2d3848b03f3affba4f4b021adea88e0b16e471 (diff) | |
download | ruby-d858c2954dac6d371d1412497cf59afdade977a0.tar.gz ruby-d858c2954dac6d371d1412497cf59afdade977a0.tar.xz ruby-d858c2954dac6d371d1412497cf59afdade977a0.zip |
* text/rexml/test_document.rb (test_entity_expansion_limit): added tests.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rexml')
-rw-r--r-- | test/rexml/test_document.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/rexml/test_document.rb b/test/rexml/test_document.rb index 9e9e58b7a..feabf2898 100644 --- a/test/rexml/test_document.rb +++ b/test/rexml/test_document.rb @@ -67,6 +67,18 @@ EOF </member> EOF + XML_WITH_4_ENTITY_EXPANSION = <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE member [ + <!ENTITY a "a"> + <!ENTITY a2 "&a; &a;"> +]> +<member> +&a; +&a2; +</member> +EOF + def test_entity_expansion_limit doc = REXML::Document.new(XML_WITH_NESTED_ENTITY) assert_raise(RuntimeError) do @@ -79,5 +91,16 @@ EOF doc.root.children.first.value end assert_equal(101, doc.entity_expansion_count) + + REXML::Document.entity_expansion_limit = 4 + doc = REXML::Document.new(XML_WITH_4_ENTITY_EXPANSION) + assert_equal("\na\na a\n", doc.root.children.first.value) + REXML::Document.entity_expansion_limit = 3 + doc = REXML::Document.new(XML_WITH_4_ENTITY_EXPANSION) + assert_raise(RuntimeError) do + doc.root.children.first.value + end + ensure + REXML::Document.entity_expansion_limit = 10000 end end |