test/func.rb in ox-1.5.1 vs test/func.rb in ox-1.5.2

- old
+ new

@@ -4,10 +4,11 @@ $: << File.join(File.dirname(__FILE__), "../lib") $: << File.join(File.dirname(__FILE__), "../ext") require 'test/unit' require 'optparse' +require 'date' require 'ox' $indent = 2 opts = OptionParser.new @@ -105,10 +106,14 @@ def test_time dump_and_load(Time.now, false) end + def test_date + dump_and_load(Date.new(2011, 1, 5), false) + end + def test_array dump_and_load([], false) dump_and_load([1, 'a'], false) end @@ -260,12 +265,32 @@ assert(true) else e = StandardError.new("Some Error") e.set_backtrace(["./func.rb:119: in test_exception", "./fake.rb:57: in fake_func"]) + dump_and_load(e, false) end - dump_and_load(e, false) end + + def test_exception_bag + if RUBY_VERSION.start_with?('1.8') + assert(true) + else + xml = %{ +<e c="FakeError"> + <s a="mesg">Some Error</s> + <a a="bt"> + <s>./func.rb:119: in test_exception</s> + <s>./fake.rb:57: in fake_func</s> + </a> +</e> +} + x = Ox.load(xml, :mode => :object, :effort => :auto_define) + assert_equal('Some Error', x.message()) + assert(x.is_a?(Exception)) + end + end + def test_struct s = Struct.new('Box', :x, :y, :w, :h) dump_and_load(s.new(2, 4, 10, 20), false) end