Actions
Bug #8602
closedREXML::Element#add_text and REXML::Text#<<
Description
以下のコードは "foo bar" が出力されることが期待されますが実際には "foo" が出力されます。
require 'rexml/document'
doc = REXML::Document.new("")
doc.root.add_text("foo")
doc.to_s
doc.root.add_text(" bar")
p doc.root.to_s
doc.to_s の部分をコメントアウトすると挙動が変わり "foo bar" が出力されます。
REXML::Element#add_text が呼び出している REXML::Text#<< が内部状態(@string)を変化させているにもかかわらず
キャッシュ(@normalized, @unnormalized)をクリアしていないのが原因だと思われます。
添付したパッチで修正されると思います。
Files
Actions
Like0
Like0Like0