diff options
Diffstat (limited to 'ruby_1_8_6/test/ruby/test_marshal.rb')
-rw-r--r-- | ruby_1_8_6/test/ruby/test_marshal.rb | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/ruby_1_8_6/test/ruby/test_marshal.rb b/ruby_1_8_6/test/ruby/test_marshal.rb deleted file mode 100644 index 11f3583076..0000000000 --- a/ruby_1_8_6/test/ruby/test_marshal.rb +++ /dev/null @@ -1,68 +0,0 @@ -require 'test/unit' -dir = File.dirname(File.expand_path(__FILE__)) -orgpath = $:.dup -begin - $:.push(dir) - require 'marshaltestlib' -ensure - $:.replace(orgpath) -end - -class TestMarshal < Test::Unit::TestCase - include MarshalTestLib - - def encode(o) - Marshal.dump(o) - end - - def decode(s) - Marshal.load(s) - end - - def fact(n) - return 1 if n == 0 - f = 1 - while n>0 - f *= n - n -= 1 - end - return f - end - - StrClone=String.clone; - - def test_marshal - $x = [1,2,3,[4,5,"foo"],{1=>"bar"},2.5,fact(30)] - $y = Marshal.dump($x) - assert_equal($x, Marshal.load($y)) - - assert_instance_of(StrClone, Marshal.load(Marshal.dump(StrClone.new("abc")))) - - [[1,2,3,4], [81, 2, 118, 3146]].each { |w,x,y,z| - a = (x.to_f + y.to_f / z.to_f) * Math.exp(w.to_f / (x.to_f + y.to_f / z.to_f)) - ma = Marshal.dump(a) - b = Marshal.load(ma) - assert_equal(a, b) - } - end - - class C - def initialize(str) - @str = str - end - def _dump(limit) - @str - end - def self._load(s) - new(s) - end - end - - def test_too_long_string - (data = Marshal.dump(C.new("a")))[-2, 1] = "\003\377\377\377" - e = assert_raise(ArgumentError, "[ruby-dev:32054]") { - Marshal.load(data) - } - assert_equal("marshal data too short", e.message) - end -end |