@@ -57,4 +57,44 @@ def test_pack_U
57
57
assert_raises ( RangeError ) { [ 0x80000000 ] . pack ( "U" ) }
58
58
assert_raises ( RangeError ) { [ 0x100000000 ] . pack ( "U" ) }
59
59
end
60
+
61
+ def test_pack_unpack_hH
62
+ assert_equal ( "\x01 \xfe " , [ "10ef" ] . pack ( "h*" ) )
63
+ assert_equal ( "" , [ "10ef" ] . pack ( "h0" ) )
64
+ assert_equal ( "\x01 \x0e " , [ "10ef" ] . pack ( "h3" ) )
65
+ assert_equal ( "\x01 \xfe \x0 " , [ "10ef" ] . pack ( "h5" ) )
66
+ assert_equal ( "\xff \x0f " , [ "fff" ] . pack ( "h3" ) )
67
+ assert_equal ( "\xff \x0f " , [ "fff" ] . pack ( "h4" ) )
68
+ assert_equal ( "\xff \x0f \0 " , [ "fff" ] . pack ( "h5" ) )
69
+ assert_equal ( "\xff \x0f \0 " , [ "fff" ] . pack ( "h6" ) )
70
+ assert_equal ( "\xff \x0f \0 \0 " , [ "fff" ] . pack ( "h7" ) )
71
+ assert_equal ( "\xff \x0f \0 \0 " , [ "fff" ] . pack ( "h8" ) )
72
+
73
+ assert_equal ( "\x10 \xef " , [ "10ef" ] . pack ( "H*" ) )
74
+ assert_equal ( "" , [ "10ef" ] . pack ( "H0" ) )
75
+ assert_equal ( "\x10 \xe0 " , [ "10ef" ] . pack ( "H3" ) )
76
+ assert_equal ( "\x10 \xef \x0 " , [ "10ef" ] . pack ( "H5" ) )
77
+ assert_equal ( "\xff \xf0 " , [ "fff" ] . pack ( "H3" ) )
78
+ assert_equal ( "\xff \xf0 " , [ "fff" ] . pack ( "H4" ) )
79
+ assert_equal ( "\xff \xf0 \0 " , [ "fff" ] . pack ( "H5" ) )
80
+ assert_equal ( "\xff \xf0 \0 " , [ "fff" ] . pack ( "H6" ) )
81
+ assert_equal ( "\xff \xf0 \0 \0 " , [ "fff" ] . pack ( "H7" ) )
82
+ assert_equal ( "\xff \xf0 \0 \0 " , [ "fff" ] . pack ( "H8" ) )
83
+
84
+ assert_equal ( [ "10ef" ] , "\x01 \xfe " . unpack ( "h*" ) )
85
+ assert_equal ( [ "" ] , "\x01 \xfe " . unpack ( "h0" ) )
86
+ assert_equal ( [ "1" ] , "\x01 \xfe " . unpack ( "h1" ) )
87
+ assert_equal ( [ "10" ] , "\x01 \xfe " . unpack ( "h2" ) )
88
+ assert_equal ( [ "10e" ] , "\x01 \xfe " . unpack ( "h3" ) )
89
+ assert_equal ( [ "10ef" ] , "\x01 \xfe " . unpack ( "h4" ) )
90
+ assert_equal ( [ "10ef" ] , "\x01 \xfe " . unpack ( "h5" ) )
91
+
92
+ assert_equal ( [ "10ef" ] , "\x10 \xef " . unpack ( "H*" ) )
93
+ assert_equal ( [ "" ] , "\x10 \xef " . unpack ( "H0" ) )
94
+ assert_equal ( [ "1" ] , "\x10 \xef " . unpack ( "H1" ) )
95
+ assert_equal ( [ "10" ] , "\x10 \xef " . unpack ( "H2" ) )
96
+ assert_equal ( [ "10e" ] , "\x10 \xef " . unpack ( "H3" ) )
97
+ assert_equal ( [ "10ef" ] , "\x10 \xef " . unpack ( "H4" ) )
98
+ assert_equal ( [ "10ef" ] , "\x10 \xef " . unpack ( "H5" ) )
99
+ end
60
100
end
0 commit comments