* 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shugo 2008-11-06 17:03:40 +00:00
Родитель e992737b4a
Коммит a324863b99
3 изменённых файлов: 12 добавлений и 2 удалений

Просмотреть файл

@ -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.

Просмотреть файл

@ -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)

Просмотреть файл

@ -35,6 +35,7 @@ EOF
<member>
&a;
&a2;
&lt;
</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