require 'abstract_unit'
require 'active_support/xml_mini'
class REXMLEngineTest < ActiveSupport::TestCase
def test_default_is_rexml
assert_equal ActiveSupport::XmlMini_REXML, ActiveSupport::XmlMini.backend
end
def test_set_rexml_as_backend
ActiveSupport::XmlMini.backend = 'REXML'
assert_equal ActiveSupport::XmlMini_REXML, ActiveSupport::XmlMini.backend
end
def test_parse_from_io
ActiveSupport::XmlMini.backend = 'REXML'
io = StringIO.new(<<-eoxml)
good
hello everyone
morning
eoxml
hash = ActiveSupport::XmlMini.parse(io)
assert hash.has_key?('root')
assert hash['root'].has_key?('products')
assert_match "good", hash['root']['__content__']
products = hash['root']['products']
assert products.has_key?("__content__")
assert_match 'hello everyone', products['__content__']
end
def test_parse_from_empty_string
ActiveSupport::XmlMini.backend = 'REXML'
assert_equal({}, ActiveSupport::XmlMini.parse(""))
end
def test_parse_from_frozen_string
ActiveSupport::XmlMini.backend = 'REXML'
xml_string = "".freeze
assert_equal({"root" => {}}, ActiveSupport::XmlMini.parse(xml_string))
end
end