diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | lib/rexml/entity.rb | 2 | ||||
-rw-r--r-- | test/rexml/test_document.rb | 3 |
3 files changed, 12 insertions, 2 deletions
@@ -1,3 +1,12 @@ +Fri Nov 7 02:00:12 2008 Shugo Maeda <shugo@ruby-lang.org> + + * lib/rexml/entity.rb (unnormalized): do not call + document.record_entity_expansion if document is nil. + see <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502535>. + Thanks, Naohisa Goto. + + * test/rexml/test_document.rb: ditto. + Fri Nov 7 01:24:20 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * tool/make-snapshot: binary encoding spec is no longer needed in 1.9. diff --git a/lib/rexml/entity.rb b/lib/rexml/entity.rb index a4093b680b..d2f27ecd44 100644 --- a/lib/rexml/entity.rb +++ b/lib/rexml/entity.rb @@ -73,7 +73,7 @@ module REXML # all entities -- both %ent; and &ent; entities. This differs from # +value()+ in that +value+ only replaces %ent; entities. def unnormalized - document.record_entity_expansion + document.record_entity_expansion unless document.nil? v = value() return nil if v.nil? @unnormalized = Text::unnormalize(v, parent) diff --git a/test/rexml/test_document.rb b/test/rexml/test_document.rb index 5207b42d72..0261e80b74 100644 --- a/test/rexml/test_document.rb +++ b/test/rexml/test_document.rb @@ -35,6 +35,7 @@ EOF <member> &a; &a2; +< </member> EOF @@ -53,7 +54,7 @@ EOF 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) + assert_equal("\na\na a\n<\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 |