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 @@ -65,6 +65,18 @@ EOF &a; +EOF + + XML_WITH_4_ENTITY_EXPANSION = < + + +]> + +&a; +&a2; + EOF def test_entity_expansion_limit @@ -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