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