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 | cb9478ae04f648f36a38f5dee20a8eb6f4c9f622 (patch) | |
tree | ece453e1118aa3609507d3d4a3a6569fec85284a /test/rexml | |
parent | 2cc9b488a090fbd96179e5bd33d702fc0df840cb (diff) | |
download | ruby-cb9478ae04f648f36a38f5dee20a8eb6f4c9f622.tar.gz |
* text/rexml/test_document.rb (test_entity_expansion_limit): added tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/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 9e9e58b7a0..feabf2898e 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 |