summaryrefslogtreecommitdiff
path: root/jni/ruby/test/date/test_date_marshal.rb
diff options
context:
space:
mode:
Diffstat (limited to 'jni/ruby/test/date/test_date_marshal.rb')
-rw-r--r--jni/ruby/test/date/test_date_marshal.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/jni/ruby/test/date/test_date_marshal.rb b/jni/ruby/test/date/test_date_marshal.rb
new file mode 100644
index 0000000..4ea5565
--- /dev/null
+++ b/jni/ruby/test/date/test_date_marshal.rb
@@ -0,0 +1,41 @@
+require 'test/unit'
+require 'date'
+
+class TestDateMarshal < Test::Unit::TestCase
+
+ def test_marshal
+ d = Date.new
+ m = Marshal.dump(d)
+ d2 = Marshal.load(m)
+ assert_equal(d, d2)
+ assert_equal(d.start, d2.start)
+ assert_instance_of(String, d2.to_s)
+
+ d = Date.today
+ m = Marshal.dump(d)
+ d2 = Marshal.load(m)
+ assert_equal(d, d2)
+ assert_equal(d.start, d2.start)
+ assert_instance_of(String, d2.to_s)
+
+ d = DateTime.now
+ m = Marshal.dump(d)
+ d2 = Marshal.load(m)
+ assert_equal(d, d2)
+ assert_equal(d.start, d2.start)
+ assert_instance_of(String, d2.to_s)
+
+ d = Date.today
+ a = d.marshal_dump
+ d.freeze
+ assert(d.frozen?)
+ assert_raise(RuntimeError){d.marshal_load(a)}
+
+ d = DateTime.now
+ a = d.marshal_dump
+ d.freeze
+ assert(d.frozen?)
+ assert_raise(RuntimeError){d.marshal_load(a)}
+ end
+
+end