@@ -41,7 +41,7 @@ def teardown
4141
4242 class GeneralEntityTest < self
4343 def test_have_value
44- xml = <<EOF
44+ xml = <<XML
4545<?xml version="1.0" encoding="UTF-8"?>
4646<!DOCTYPE member [
4747 <!ENTITY a "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;">
@@ -55,23 +55,24 @@ def test_have_value
5555<member>
5656&a;
5757</member>
58- EOF
58+ XML
5959
6060 doc = REXML ::Document . new ( xml )
61- assert_raise ( RuntimeError ) do
61+ assert_raise ( RuntimeError . new ( "entity expansion has grown too large" ) ) do
6262 doc . root . children . first . value
6363 end
64+
6465 REXML ::Security . entity_expansion_limit = 100
6566 assert_equal ( 100 , REXML ::Security . entity_expansion_limit )
6667 doc = REXML ::Document . new ( xml )
67- assert_raise ( RuntimeError ) do
68+ assert_raise ( RuntimeError . new ( "number of entity expansions exceeded, processing aborted." ) ) do
6869 doc . root . children . first . value
6970 end
7071 assert_equal ( 101 , doc . entity_expansion_count )
7172 end
7273
7374 def test_empty_value
74- xml = <<EOF
75+ xml = <<XML
7576<?xml version="1.0" encoding="UTF-8"?>
7677<!DOCTYPE member [
7778 <!ENTITY a "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;">
@@ -85,23 +86,24 @@ def test_empty_value
8586<member>
8687&a;
8788</member>
88- EOF
89+ XML
8990
9091 doc = REXML ::Document . new ( xml )
91- assert_raise ( RuntimeError ) do
92+ assert_raise ( RuntimeError . new ( "number of entity expansions exceeded, processing aborted." ) ) do
9293 doc . root . children . first . value
9394 end
95+
9496 REXML ::Security . entity_expansion_limit = 100
9597 assert_equal ( 100 , REXML ::Security . entity_expansion_limit )
9698 doc = REXML ::Document . new ( xml )
97- assert_raise ( RuntimeError ) do
99+ assert_raise ( RuntimeError . new ( "number of entity expansions exceeded, processing aborted." ) ) do
98100 doc . root . children . first . value
99101 end
100102 assert_equal ( 101 , doc . entity_expansion_count )
101103 end
102104
103105 def test_with_default_entity
104- xml = <<EOF
106+ xml = <<XML
105107<?xml version="1.0" encoding="UTF-8"?>
106108<!DOCTYPE member [
107109 <!ENTITY a "a">
@@ -112,14 +114,15 @@ def test_with_default_entity
112114&a2;
113115<
114116</member>
115- EOF
117+ XML
116118
117119 REXML ::Security . entity_expansion_limit = 4
118120 doc = REXML ::Document . new ( xml )
119121 assert_equal ( "\n a\n a a\n <\n " , doc . root . children . first . value )
122+
120123 REXML ::Security . entity_expansion_limit = 3
121124 doc = REXML ::Document . new ( xml )
122- assert_raise ( RuntimeError ) do
125+ assert_raise ( RuntimeError . new ( "number of entity expansions exceeded, processing aborted." ) ) do
123126 doc . root . children . first . value
124127 end
125128 end
0 commit comments