From 145b0de7023adeb4730210ec8e7404c4abe06d88 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 23 Jan 2008 06:04:13 +0000 Subject: * string.c (str_make_independent): should set length. * string.c (rb_str_associate): hide associated array from ObjectSpace. * string.c (rb_str_associated): return associated array with freezing instead of false. [ruby-dev:33282] * string.c (rb_str_freeze): freeze associated array together. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_pack.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_pack.rb b/test/ruby/test_pack.rb index e67465b33..f78c48dee 100644 --- a/test/ruby/test_pack.rb +++ b/test/ruby/test_pack.rb @@ -57,4 +57,18 @@ class TestPack < Test::Unit::TestCase assert_raises(RangeError) { [0x80000000].pack("U") } assert_raises(RangeError) { [0x100000000].pack("U") } end + + def test_pack_P + a = ["abc"] + assert_equal a, a.pack("P").unpack("P*") + assert_equal "a", a.pack("P").unpack("P")[0] + assert_equal a, a.pack("P").freeze.unpack("P*") + end + + def test_pack_p + a = ["abc"] + assert_equal a, a.pack("p").unpack("p*") + assert_equal a[0], a.pack("p").unpack("p")[0] + assert_equal a, a.pack("p").freeze.unpack("p*") + end end -- cgit