require File.dirname(__FILE__) + '/test_helper'
class RegressionTest < FasterXSTest
def test_content_nil_regressions
expected = {"asdf"=>{"jklsemicolon"=>{}}}
assert_equal expected, FasterXmlSimple.xml_in("")
assert_equal expected, FasterXmlSimple.xml_in("", 'forcearray'=>['asdf'])
end
def test_s3_regression
str = File.read("test/fixtures/test-7.xml")
assert_nil FasterXmlSimple.xml_in(str)["AccessControlPolicy"]["AccessControlList"]["__content__"]
end
def test_xml_simple_transparency
assert_equal XmlSimple.xml_in(""), FasterXmlSimple.xml_in("")
end
def test_suppress_empty_variations
str = ""
assert_equal Hash.new, FasterXmlSimple.xml_in(str)["asdf"]["fdsa"]
assert_nil FasterXmlSimple.xml_in(str, 'suppressempty'=>nil)["asdf"]["fdsa"]
assert_equal '', FasterXmlSimple.xml_in(str, 'suppressempty'=>'')["asdf"]["fdsa"]
assert !FasterXmlSimple.xml_in(str, 'suppressempty'=>true)["asdf"].has_key?("fdsa")
end
def test_empty_string_doesnt_crash
assert_raise(XML::Parser::ParseError) do
silence_stderr do
FasterXmlSimple.xml_in('')
end
end
end
def test_keeproot_false
str = "1"
expected = {"fdsa"=>"1"}
assert_equal expected, FasterXmlSimple.xml_in(str, 'keeproot'=>false)
end
def test_keeproot_false_with_force_content
str = "1"
expected = {"fdsa"=>{"__content__"=>"1"}}
assert_equal expected, FasterXmlSimple.xml_in(str, 'keeproot'=>false, 'forcecontent'=>true)
end
end