Skip to content

Problem with context raw? #43

@BurdetteLamar

Description

@BurdetteLamar

Running ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [i386-mingw32]

  xml_string = '<root><foo>&amp;</foo><bar>&lt;</bar><baz>&gt;</baz><bat>&quot;</bat></root>'
  d = Document.new(xml_string, {raw: ['foo', 'baz']})
  d.to_s # => "<root><foo>&amp;</foo><bar>&lt;</bar><baz>&gt;</baz><bat>&quot;</bat></root>"
  root = d.root # => <root> ... </>
  foo, bar, baz, bat = *d.root
  # Each is an Element object:
  [foo, bar, baz, bat].map {|e| e.class }.uniq # => [REXML::Element]
  # Each element is marked as raw/not-raw as appropriate:
  [foo, bar, baz, bat].map {|e| e.raw } # => [true, false, true, false]
  # The first child of each is a Text object:
  [foo, bar, baz, bat].map {|e| e.first.class }.uniq # => [REXML::Text]
  # Each text is marked as raw/not-raw as appropriate:
  [foo, bar, baz, bat].map {|e| e.first.raw } # => [true, true, true, true]

Is this correct? I expected that last result to be [true, false, true, false].

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions