print
"1..22\n"
;
$u
= utf8(
"abc"
);
$u
->append(utf8(
"def"
));
print
"not "
unless
$u
->utf8 eq
"abcdef"
;
print
"ok 1\n"
;
$x
=
$u
->copy;
print
"not "
unless
overload::StrVal(
$x
) ne overload::StrVal(
$u
);
print
"ok 2\n"
;
print
$u
->
hex
,
"\n"
;
print
$x
->
hex
,
"\n"
;
print
"not "
unless
$x
->
hex
eq
$u
->
hex
;
print
"ok 3\n"
;
$x
->append(utf8(
"g"
));
print
"not "
unless
$x
->utf8 eq
"abcdefg"
;
print
"ok 4\n"
;
$y
=
$x
->repeat(3);
print
$u
->
hex
,
"\n"
;
print
$x
->
hex
,
"\n"
;
print
$y
->utf8,
"\n"
;
print
"not "
unless
$y
->utf8 eq (
"abcdefg"
x 3);
print
"ok 5\n"
;
$y
=
$x
->concat(
$u
);
print
"not "
unless
$y
->utf8 eq
"abcdefgabcdef"
&&
$x
->utf8 eq
"abcdefg"
&&
$u
->utf8 eq
"abcdef"
;
print
"ok 6\n"
;
$x
= utf8(
"123"
);
print
"not "
unless
$x
->as_num == 123;
print
"ok 7\n"
;
$x
= utf8(
""
);
print
"not "
if
$x
->as_bool;
print
"ok 8\n"
;
$x
= utf8(
"0"
);
print
"not "
if
!
$x
->as_bool;
print
"ok 9\n"
;
$x
= utf8(
"abc"
);
print
"not "
if
!
$x
->as_bool;
print
"ok 10\n"
;
$y
=
$x
->
substr
(0,1);
print
"not "
unless
$y
->utf8 eq
"a"
&&
$x
->utf8 eq
"abc"
;
print
"ok 11\n"
;
$y
=
$x
->
substr
(1);
print
"not "
unless
$y
->utf8 eq
"bc"
&&
$x
->utf8 eq
"abc"
;
print
"ok 12\n"
;
$x
= utf8(
"0123456789"
);
print
"not "
unless
$x
->
substr
(2,3)->utf8 eq
"234"
;
print
"ok 13\n"
;
print
"not "
unless
$x
->
substr
->utf8 eq
$x
->utf8;
print
"ok 14\n"
;
print
"not "
unless
$x
->
substr
(3,0)->
length
== 0;
print
"ok 15\n"
;
print
"not "
unless
$x
->
substr
(8, 100)->utf8 eq
"89"
;
print
"ok 16\n"
;
print
"not "
unless
$x
->
index
(utf8(
"345"
)) == 3;
print
"ok 17\n"
;
print
"not "
unless
$x
->
index
(utf8(
"356"
)) == -1;
print
"ok 18\n"
;
print
"not "
unless
$x
->
index
(utf8(
"0"
)) == 0;
print
"ok 19\n"
;
print
"not "
unless
$x
->
index
(utf8(
"0"
), 1) == -1;
print
"ok 20\n"
;
$x
= utf16(
"abbaabbbaa"
);
print
"not "
unless
$x
->
index
(utf16(
"bb"
)) == 3;
print
"ok 21\n"
;
print
"not "
unless
(utf8(
"a"
) . utf8(
"b"
))->utf8 eq
"ab"
&&
(
"a"
. utf8(
"b"
))->utf8 eq
"ab"
&&
(utf8(
"a"
) .
"b"
)->utf8 eq
"ab"
;
print
"ok 22\n"
;