diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:23 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:44 +0000 |
commit | 836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch) | |
tree | 1604da8f482d02effa033c94a84be42bc0c848c3 /web/server/h2o/libh2o/deps/mruby-pack/test | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip |
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/server/h2o/libh2o/deps/mruby-pack/test')
-rw-r--r-- | web/server/h2o/libh2o/deps/mruby-pack/test/pack.rb | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby-pack/test/pack.rb b/web/server/h2o/libh2o/deps/mruby-pack/test/pack.rb deleted file mode 100644 index 5e9932f4f..000000000 --- a/web/server/h2o/libh2o/deps/mruby-pack/test/pack.rb +++ /dev/null @@ -1,147 +0,0 @@ -# pack & unpack 'm' (base64) -assert('[""].pack("m")') do - ary = "" - str = "" - [ary].pack("m") == str and - str.unpack("m") == [ary] -end - -assert('["\0"].pack("m")') do - ary = "\0" - str = "AA==\n" - [ary].pack("m") == str and - str.unpack("m") == [ary] -end - -assert('["\0\0"].pack("m")') do - ary = "\0\0" - str = "AAA=\n" - [ary].pack("m") == str and - str.unpack("m") == [ary] -end - -assert('["\0\0\0"].pack("m")') do - ary = "\0\0\0" - str = "AAAA\n" - [ary].pack("m") == str and - str.unpack("m") == [ary] -end - -assert('["abc..xyzABC..XYZ"].pack("m")') do - ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"].pack("m") == "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n" -end - -assert('"YWJ...".unpack("m") should "abc..xyzABC..XYZ"') do - str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n".unpack("m") == [str] and - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==\n".unpack("m") == [str] -end - -# pack & unpack 'H' -assert('["3031"].pack("H*")') do - ary = "3031" - str = "01" - [ary].pack("H*") == str and - str.unpack("H*") == [ary] -end - -assert('["10"].pack("H*")') do - ary = "10" - str = "\020" - [ary].pack("H*") == str and - str.unpack("H*") == [ary] -end - -assert('[0,1,127,128,255].pack("C*")') do - ary = [ 0, 1, 127, 128, 255 ] - str = "\x00\x01\x7F\x80\xFF" - ary.pack("C*") == str and str.unpack("C*") == ary -end - -# pack "a" -assert('["abc"].pack("a")') do - ["abc"].pack("a") == "a" and - ["abc"].pack("a*") == "abc" and - ["abc"].pack("a4") == "abc\0" -end - -# upack "a" -assert('["abc"].pack("a")') do - "abc\0".unpack("a4") == ["abc\0"] and - "abc ".unpack("a4") == ["abc "] -end - -# pack "A" -assert('["abc"].pack("A")') do - ["abc"].pack("A") == "a" and - ["abc"].pack("A*") == "abc" and - ["abc"].pack("A4") == "abc " -end - -# upack "A" -assert('["abc"].pack("A")') do - "abc\0".unpack("A4") == ["abc"] and - "abc ".unpack("A4") == ["abc"] -end - -# regression tests -assert('issue #1') do - [1, 2].pack("nn") == "\000\001\000\002" -end - -def assert_pack tmpl, packed, unpacked - assert_equal packed, unpacked.pack(tmpl) - assert_equal unpacked, packed.unpack(tmpl) -end - -PACK_IS_LITTLE_ENDIAN = "\x01\00".unpack('S')[0] == 0x01 - -assert 'pack float' do - assert_pack 'e', "\x00\x00@@", [3.0] - assert_pack 'g', "@@\x00\x00", [3.0] - - if PACK_IS_LITTLE_ENDIAN - assert_pack 'f', "\x00\x00@@", [3.0] - assert_pack 'F', "\x00\x00@@", [3.0] - else - assert_pack 'f', "@@\x00\x00", [3.0] - assert_pack 'F', "@@\x00\x00", [3.0] - end -end - -assert 'pack double' do - assert_pack 'E', "\x00\x00\x00\x00\x00\x00\b@", [3.0] - assert_pack 'G', "@\b\x00\x00\x00\x00\x00\x00", [3.0] - - if PACK_IS_LITTLE_ENDIAN - assert_pack 'd', "\x00\x00\x00\x00\x00\x00\b@", [3.0] - assert_pack 'D', "\x00\x00\x00\x00\x00\x00\b@", [3.0] - else - assert_pack 'd', "@\b\x00\x00\x00\x00\x00\x00", [3.0] - assert_pack 'D', "@\b\x00\x00\x00\x00\x00\x00", [3.0] - end -end - -assert 'pack/unpack "i"' do - int_size = [0].pack('i').size - raise "pack('i').size is too small (#{int_size})" if int_size < 2 - - if PACK_IS_LITTLE_ENDIAN - str = "\xC7\xCF" + "\xFF" * (int_size-2) - else - str = "\xFF" * (int_size-2) + "\xC7\xCF" - end - assert_pack 'i', str, [-12345] -end - -assert 'pack/unpack "I"' do - uint_size = [0].pack('I').size - raise "pack('I').size is too small (#{uint_size})" if uint_size < 2 - - if PACK_IS_LITTLE_ENDIAN - str = "\x39\x30" + "\0" * (uint_size-2) - else - str = "\0" * (uint_size-2) + "\x39\x30" - end - assert_pack 'I', str, [12345] -end |