class XmlMiniTest::ParsingTest

Public Instance Methods

setup() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 233
def setup
  @parsing = ActiveSupport::XmlMini::PARSING
end
test_base64Binary_and_binary() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 331
    def test_base64Binary_and_binary
      base64 = <<BASE64
TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=
BASE64
      expected_base64 = <<EXPECTED
Man is distinguished, not only by his reason, but by this singular passion from
other animals, which is a lust of the mind, that by a perseverance of delight
in the continued and indefatigable generation of knowledge, exceeds the short
vehemence of any carnal pleasure.
EXPECTED

      parser = @parsing["base64Binary"]
      assert_equal expected_base64.gsub(/\n/, " ").strip, parser.call(base64)
      parser.call("NON BASE64 INPUT")

      parser = @parsing["binary"]
      assert_equal expected_base64.gsub(/\n/, " ").strip, parser.call(base64, "encoding" => "base64")
      assert_equal "IGNORED INPUT", parser.call("IGNORED INPUT", {})
    end
test_boolean() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 292
def test_boolean
  parser = @parsing["boolean"]
  [1, true, "1"].each do |value|
    assert parser.call(value)
  end

  [0, false, "0"].each do |value|
    assert_not parser.call(value)
  end
end
test_date() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 245
def test_date
  parser = @parsing["date"]
  assert_equal Date.new(2013, 11, 12), parser.call("2013-11-12T0211Z")
  assert_raises(TypeError) { parser.call(1384190018) }
  assert_raises(ArgumentError) { parser.call("not really a date") }
end
test_datetime() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 252
def test_datetime
  parser = @parsing["datetime"]
  assert_equal Time.new(2013, 11, 12, 02, 11, 00, 0), parser.call("2013-11-12T02:11:00Z")
  assert_equal DateTime.new(2013, 11, 12), parser.call("2013-11-12T0211Z")
  assert_equal DateTime.new(2013, 11, 12, 02, 11), parser.call("2013-11-12T02:11Z")
  assert_equal DateTime.new(2013, 11, 12, 02, 11), parser.call("2013-11-12T11:11+9")
  assert_raises(ArgumentError) { parser.call("1384190018") }
end
test_decimal() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 281
def test_decimal
  parser = @parsing["decimal"]
  assert_equal 123, parser.call("123")
  assert_equal 123.003, parser.call("123.003")
  assert_equal 123.0, parser.call("123,003")
  assert_equal 0.0, parser.call("")
  assert_equal 123, parser.call(123)
  assert_raises(ArgumentError) { parser.call(123.04) }
  assert_raises(ArgumentError) { parser.call(Date.new(2013, 11, 12, 02, 11)) }
end
test_float() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 270
def test_float
  parser = @parsing["float"]
  assert_equal 123, parser.call("123")
  assert_equal 123.003, parser.call("123.003")
  assert_equal 123.0, parser.call("123,003")
  assert_equal 0.0, parser.call("")
  assert_equal 123, parser.call(123)
  assert_equal 123.05, parser.call(123.05)
  assert_raises(ArgumentError) { parser.call(Date.new(2013, 11, 12, 02, 11)) }
end
test_integer() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 261
def test_integer
  parser = @parsing["integer"]
  assert_equal 123, parser.call(123)
  assert_equal 123, parser.call(123.003)
  assert_equal 123, parser.call("123")
  assert_equal 0, parser.call("")
  assert_raises(ArgumentError) { parser.call(Date.new(2013, 11, 12, 02, 11)) }
end
test_string() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 303
def test_string
  parser = @parsing["string"]
  assert_equal "123", parser.call(123)
  assert_equal "123", parser.call("123")
  assert_equal "[]", parser.call("[]")
  assert_equal "[]", parser.call([])
  assert_equal "{}", parser.call({})
  assert_raises(ArgumentError) { parser.call(Date.new(2013, 11, 12, 02, 11)) }
end
test_symbol() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 237
def test_symbol
  parser = @parsing["symbol"]
  assert_equal :symbol, parser.call("symbol")
  assert_equal :symbol, parser.call(:symbol)
  assert_equal :'123', parser.call(123)
  assert_raises(ArgumentError) { parser.call(Date.new(2013, 11, 12, 02, 11)) }
end
test_yaml() click to toggle source
# File activesupport/test/xml_mini_test.rb, line 313
    def test_yaml
      yaml = <<YAML
product:
  - sku         : BL394D
    quantity    : 4
    description : Basketball
YAML
      expected = {
        "product" => [
          { "sku" => "BL394D", "quantity" => 4, "description" => "Basketball" }
        ]
      }
      parser = @parsing["yaml"]
      assert_equal(expected, parser.call(yaml))
      assert_equal({ 1 => "test" }, parser.call(1 => "test"))
      assert_equal({ "1 => 'test'" => nil }, parser.call("{1 => 'test'}"))
    end