summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2017-06-07 11:09:43 +0900
committerGitHub <[email protected]>2017-06-07 11:09:43 +0900
commit383a9c79e191d524a9a2b4107cc5043ecbf6190b (patch)
treea570b7ef29e6ced72d3d8a577af36cfbd1ffbd5d /test
parent7e014efe45ac7c8f5a0418b6f180634d33e0a9dd (diff)
parent0dbd1d59926da2b52ae7e52388d3cf0199905d53 (diff)
downloadmruby-383a9c79e191d524a9a2b4107cc5043ecbf6190b.tar.gz
mruby-383a9c79e191d524a9a2b4107cc5043ecbf6190b.zip
Merge pull request #13 from ksss/unpack-utf8
Support unpack template "U"
Diffstat (limited to 'test')
-rw-r--r--test/pack.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/pack.rb b/test/pack.rb
index 5e9932f4f..f518ca4fa 100644
--- a/test/pack.rb
+++ b/test/pack.rb
@@ -145,3 +145,21 @@ assert 'pack/unpack "I"' do
end
assert_pack 'I', str, [12345]
end
+
+assert 'pack/unpack "U"' do
+ assert_equal [], "".unpack("U")
+ assert_equal [], "".unpack("U*")
+ assert_equal [65, 66], "ABC".unpack("U2")
+ assert_equal [12371, 12435, 12395, 12385, 12399, 19990, 30028], "こんにちは世界".unpack("U*")
+
+ assert_equal "", [].pack("U")
+ assert_equal "", [].pack("U*")
+ assert_equal "AB", [65, 66, 67].pack("U2")
+ assert_equal "こんにちは世界", [12371, 12435, 12395, 12385, 12399, 19990, 30028].pack("U*")
+
+ assert_equal "\000", [0].pack("U")
+
+ assert_raise(RangeError) { [-0x40000000].pack("U") }
+ assert_raise(RangeError) { [-1].pack("U") }
+ assert_raise(RangeError) { [0x40000000].pack("U") }
+end