use
SPVM
'TestCase::Module::Format'
;
my
$api
= SPVM::api();
my
$start_memory_blocks_count
=
$api
->get_memory_blocks_count();
{
ok(SPVM::TestCase::Module::Format->sprintf_X);
ok(SPVM::TestCase::Module::Format->sprintf_basic);
ok(SPVM::TestCase::Module::Format->sprintf_c);
ok(SPVM::TestCase::Module::Format->sprintf_d);
ok(SPVM::TestCase::Module::Format->sprintf_exception);
ok(SPVM::TestCase::Module::Format->sprintf_extra);
ok(SPVM::TestCase::Module::Format->sprintf_f);
ok(SPVM::TestCase::Module::Format->sprintf_g);
ok(SPVM::TestCase::Module::Format->sprintf_ld);
ok(SPVM::TestCase::Module::Format->sprintf_lu);
ok(SPVM::TestCase::Module::Format->sprintf_lX);
ok(SPVM::TestCase::Module::Format->sprintf_lx);
ok(SPVM::TestCase::Module::Format->sprintf_s);
ok(SPVM::TestCase::Module::Format->sprintf_u);
ok(SPVM::TestCase::Module::Format->sprintf_x);
ok(SPVM::TestCase::Module::Format->sprintf_p);
like(SPVM::TestCase::Module::Format->sprintf_p_value,
qr/^0x?[0-9a-fA-F]+$/
);
{
eval
'sprintf("%X", 1)'
;
if
($@) {
warn
"Skip %X"
}
else
{
is(
sprintf
(
"%X"
, 1), SPVM::Format->
sprintf
(
"%X"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%0100X"
, 1), SPVM::Format->
sprintf
(
"%0100X"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03X"
, 1), SPVM::Format->
sprintf
(
"%03X"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%+3X"
, 1), SPVM::Format->
sprintf
(
"%+3X"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%-3X"
, 1), SPVM::Format->
sprintf
(
"%-3X"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03X"
, 1111), SPVM::Format->
sprintf
(
"%03X"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%+3X"
, 1111), SPVM::Format->
sprintf
(
"%+3X"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%-3X"
, 1111), SPVM::Format->
sprintf
(
"%-3X"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%03X"
, 111), SPVM::Format->
sprintf
(
"%03X"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%+3X"
, 111), SPVM::Format->
sprintf
(
"%+3X"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%-3X"
, 111), SPVM::Format->
sprintf
(
"%-3X"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%X"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%X"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%0100X"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%0100X"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%03X"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03X"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%+3X"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3X"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%-3X"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3X"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%03X"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03X"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%+3X"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3X"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%-3X"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3X"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%03X"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03X"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
is(
sprintf
(
"%+3X"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3X"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
is(
sprintf
(
"%-3X"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3X"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
}
{
my
$code_point_a
=
ord
(
'a'
);
my
$code_point_unicode_a
=
ord
(
'あ'
);
is(
sprintf
(
"%c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%c"
,
$api
->new_any_object_array([SPVM::Byte->new(
$code_point_a
)])));
is(
sprintf
(
"%0100c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%0100c"
,
$api
->new_any_object_array([SPVM::Byte->new(
$code_point_a
)])));
is(
sprintf
(
"%03c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%03c"
,
$api
->new_any_object_array([SPVM::Byte->new(
$code_point_a
)])));
is(
sprintf
(
"%+3c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%+3c"
,
$api
->new_any_object_array([SPVM::Byte->new(
$code_point_a
)])));
is(
sprintf
(
"%-3c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%-3c"
,
$api
->new_any_object_array([SPVM::Byte->new(
$code_point_a
)])));
is(
sprintf
(
"%c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%c"
,
$api
->new_any_object_array([SPVM::Int->new(
$code_point_a
)])));
is(
sprintf
(
"%0100c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%0100c"
,
$api
->new_any_object_array([SPVM::Int->new(
$code_point_a
)])));
is(
sprintf
(
"%03c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%03c"
,
$api
->new_any_object_array([SPVM::Int->new(
$code_point_a
)])));
is(
sprintf
(
"%+3c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%+3c"
,
$api
->new_any_object_array([SPVM::Int->new(
$code_point_a
)])));
is(
sprintf
(
"%-3c"
,
$code_point_a
), SPVM::Format->
sprintf
(
"%-3c"
,
$api
->new_any_object_array([SPVM::Int->new(
$code_point_a
)])));
is(
sprintf
(
"%c"
,
$code_point_unicode_a
), SPVM::Format->
sprintf
(
"%c"
,
$api
->new_any_object_array([SPVM::Int->new(
$code_point_unicode_a
)])));
is(
sprintf
(
"%c"
,
$code_point_unicode_a
), SPVM::Format->
sprintf
(
"%c"
,
$api
->new_any_object_array([SPVM::Int->new(
$code_point_unicode_a
)])));
}
{
is(
sprintf
(
"%d"
, 1), SPVM::Format->
sprintf
(
"%d"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%0100d"
, 1), SPVM::Format->
sprintf
(
"%0100d"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03d"
, 1), SPVM::Format->
sprintf
(
"%03d"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%+3d"
, 1), SPVM::Format->
sprintf
(
"%+3d"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%-3d"
, 1), SPVM::Format->
sprintf
(
"%-3d"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03d"
, 1111), SPVM::Format->
sprintf
(
"%03d"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%+3d"
, 1111), SPVM::Format->
sprintf
(
"%+3d"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%-3d"
, 1111), SPVM::Format->
sprintf
(
"%-3d"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%03d"
, 111), SPVM::Format->
sprintf
(
"%03d"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%+3d"
, 111), SPVM::Format->
sprintf
(
"%+3d"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%-3d"
, 111), SPVM::Format->
sprintf
(
"%-3d"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
}
{
is(
sprintf
(
"%f"
, 1.5), SPVM::Format->
sprintf
(
"%f"
,
$api
->new_any_object_array([SPVM::Double->new(1.5)])));
is(
sprintf
(
"%.100f"
, 1.5), SPVM::Format->
sprintf
(
"%.100f"
,
$api
->new_any_object_array([SPVM::Double->new(1.5)])));
is(
sprintf
(
"%.3f"
, 1.5), SPVM::Format->
sprintf
(
"%.3f"
,
$api
->new_any_object_array([SPVM::Double->new(1.5)])));
is(
sprintf
(
"%+3f"
, 1.5), SPVM::Format->
sprintf
(
"%+3f"
,
$api
->new_any_object_array([SPVM::Double->new(1.5)])));
is(
sprintf
(
"%-3f"
, 1.5), SPVM::Format->
sprintf
(
"%-3f"
,
$api
->new_any_object_array([SPVM::Double->new(1.5)])));
is(
sprintf
(
"%.3f"
, 1111.5), SPVM::Format->
sprintf
(
"%.3f"
,
$api
->new_any_object_array([SPVM::Double->new(1111.5)])));
is(
sprintf
(
"%+3f"
, 1111.5), SPVM::Format->
sprintf
(
"%+3f"
,
$api
->new_any_object_array([SPVM::Double->new(1111.5)])));
is(
sprintf
(
"%-3f"
, 1111.5), SPVM::Format->
sprintf
(
"%-3f"
,
$api
->new_any_object_array([SPVM::Double->new(1111.5)])));
is(
sprintf
(
"%.3f"
, 111.5), SPVM::Format->
sprintf
(
"%.3f"
,
$api
->new_any_object_array([SPVM::Double->new(111.5)])));
is(
sprintf
(
"%+3f"
, 111.5), SPVM::Format->
sprintf
(
"%+3f"
,
$api
->new_any_object_array([SPVM::Double->new(111.5)])));
is(
sprintf
(
"%-3f"
, 111.5), SPVM::Format->
sprintf
(
"%-3f"
,
$api
->new_any_object_array([SPVM::Double->new(111.5)])));
is(
sprintf
(
"%f"
, 1.5), SPVM::Format->
sprintf
(
"%f"
,
$api
->new_any_object_array([SPVM::Float->new(1.5)])));
is(
sprintf
(
"%.100f"
, 1.5), SPVM::Format->
sprintf
(
"%.100f"
,
$api
->new_any_object_array([SPVM::Float->new(1.5)])));
is(
sprintf
(
"%.3f"
, 1.5), SPVM::Format->
sprintf
(
"%.3f"
,
$api
->new_any_object_array([SPVM::Float->new(1.5)])));
is(
sprintf
(
"%+3f"
, 1.5), SPVM::Format->
sprintf
(
"%+3f"
,
$api
->new_any_object_array([SPVM::Float->new(1.5)])));
is(
sprintf
(
"%-3f"
, 1.5), SPVM::Format->
sprintf
(
"%-3f"
,
$api
->new_any_object_array([SPVM::Float->new(1.5)])));
is(
sprintf
(
"%.3f"
, 1111.5), SPVM::Format->
sprintf
(
"%.3f"
,
$api
->new_any_object_array([SPVM::Float->new(1111.5)])));
is(
sprintf
(
"%+3f"
, 1111.5), SPVM::Format->
sprintf
(
"%+3f"
,
$api
->new_any_object_array([SPVM::Float->new(1111.5)])));
is(
sprintf
(
"%-3f"
, 1111.5), SPVM::Format->
sprintf
(
"%-3f"
,
$api
->new_any_object_array([SPVM::Float->new(1111.5)])));
is(
sprintf
(
"%.3f"
, 111.5), SPVM::Format->
sprintf
(
"%.3f"
,
$api
->new_any_object_array([SPVM::Float->new(111.5)])));
is(
sprintf
(
"%+3f"
, 111.5), SPVM::Format->
sprintf
(
"%+3f"
,
$api
->new_any_object_array([SPVM::Float->new(111.5)])));
is(
sprintf
(
"%-3f"
, 111.5), SPVM::Format->
sprintf
(
"%-3f"
,
$api
->new_any_object_array([SPVM::Float->new(111.5)])));
}
{
is(
sprintf
(
"%g"
, 1.5), SPVM::Format->
sprintf
(
"%g"
,
$api
->new_any_object_array([SPVM::Double->new(1.5)])));
is(
sprintf
(
"%g"
, 1.5), SPVM::Format->
sprintf
(
"%g"
,
$api
->new_any_object_array([SPVM::Float->new(1.5)])));
}
{
is(
sprintf
(
"%lld"
, 1), SPVM::Format->
sprintf
(
"%ld"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%0100lld"
, 1), SPVM::Format->
sprintf
(
"%0100ld"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03lld"
, 1), SPVM::Format->
sprintf
(
"%03ld"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%+3lld"
, 1), SPVM::Format->
sprintf
(
"%+3ld"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%-3lld"
, 1), SPVM::Format->
sprintf
(
"%-3ld"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03lld"
, 1111), SPVM::Format->
sprintf
(
"%03ld"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%+3lld"
, 1111), SPVM::Format->
sprintf
(
"%+3ld"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%-3lld"
, 1111), SPVM::Format->
sprintf
(
"%-3ld"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%03lld"
, 111), SPVM::Format->
sprintf
(
"%03ld"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%+3lld"
, 111), SPVM::Format->
sprintf
(
"%+3ld"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%-3lld"
, 111), SPVM::Format->
sprintf
(
"%-3ld"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
}
{
is(
sprintf
(
"%llu"
, 1), SPVM::Format->
sprintf
(
"%lu"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%0100llu"
, 1), SPVM::Format->
sprintf
(
"%0100lu"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03llu"
, 1), SPVM::Format->
sprintf
(
"%03lu"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%+3llu"
, 1), SPVM::Format->
sprintf
(
"%+3lu"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%-3llu"
, 1), SPVM::Format->
sprintf
(
"%-3lu"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03llu"
, 1111), SPVM::Format->
sprintf
(
"%03lu"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%+3llu"
, 1111), SPVM::Format->
sprintf
(
"%+3lu"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%-3llu"
, 1111), SPVM::Format->
sprintf
(
"%-3lu"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%03llu"
, 111), SPVM::Format->
sprintf
(
"%03lu"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%+3llu"
, 111), SPVM::Format->
sprintf
(
"%+3lu"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%-3llu"
, 111), SPVM::Format->
sprintf
(
"%-3lu"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%llu"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%0100llu"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%0100lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%03llu"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%+3llu"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%-3llu"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%03llu"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%+3llu"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%-3llu"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lu"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%03llu"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lu"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
is(
sprintf
(
"%+3llu"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lu"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
is(
sprintf
(
"%-3llu"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lu"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
}
eval
'sprintf("%lX", 1)'
;
if
($@) {
warn
"Skip: %lX"
}
else
{
is(
sprintf
(
"%llX"
, 1), SPVM::Format->
sprintf
(
"%lX"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%0100llX"
, 1), SPVM::Format->
sprintf
(
"%0100lX"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03llX"
, 1), SPVM::Format->
sprintf
(
"%03lX"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%+3llX"
, 1), SPVM::Format->
sprintf
(
"%+3lX"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%-3llX"
, 1), SPVM::Format->
sprintf
(
"%-3lX"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03llX"
, 1111), SPVM::Format->
sprintf
(
"%03lX"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%+3llX"
, 1111), SPVM::Format->
sprintf
(
"%+3lX"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%-3llX"
, 1111), SPVM::Format->
sprintf
(
"%-3lX"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%03llX"
, 111), SPVM::Format->
sprintf
(
"%03lX"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%+3llX"
, 111), SPVM::Format->
sprintf
(
"%+3lX"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%-3llX"
, 111), SPVM::Format->
sprintf
(
"%-3lX"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%llX"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%0100llX"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%0100lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%03llX"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%+3llX"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%-3llX"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%03llX"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%+3llX"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%-3llX"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lX"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%03llX"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lX"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
is(
sprintf
(
"%+3llX"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lX"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
is(
sprintf
(
"%-3llX"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lX"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
}
{
is(
sprintf
(
"%llx"
, 1), SPVM::Format->
sprintf
(
"%lx"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%0100llx"
, 1), SPVM::Format->
sprintf
(
"%0100lx"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03llx"
, 1), SPVM::Format->
sprintf
(
"%03lx"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%+3llx"
, 1), SPVM::Format->
sprintf
(
"%+3lx"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%-3llx"
, 1), SPVM::Format->
sprintf
(
"%-3lx"
,
$api
->new_any_object_array([SPVM::Long->new(1)])));
is(
sprintf
(
"%03llx"
, 1111), SPVM::Format->
sprintf
(
"%03lx"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%+3llx"
, 1111), SPVM::Format->
sprintf
(
"%+3lx"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%-3llx"
, 1111), SPVM::Format->
sprintf
(
"%-3lx"
,
$api
->new_any_object_array([SPVM::Long->new(1111)])));
is(
sprintf
(
"%03llx"
, 111), SPVM::Format->
sprintf
(
"%03lx"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%+3llx"
, 111), SPVM::Format->
sprintf
(
"%+3lx"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%-3llx"
, 111), SPVM::Format->
sprintf
(
"%-3lx"
,
$api
->new_any_object_array([SPVM::Long->new(111)])));
is(
sprintf
(
"%llx"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%0100llx"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%0100lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%03llx"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%+3llx"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%-3llx"
, -1 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1)])));
is(
sprintf
(
"%03llx"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%+3llx"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%-3llx"
, -1111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lx"
,
$api
->new_any_object_array([SPVM::Long->new(-1111)])));
is(
sprintf
(
"%03llx"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%03lx"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
is(
sprintf
(
"%+3llx"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%+3lx"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
is(
sprintf
(
"%-3llx"
, -111 & 18446744073709551615), SPVM::Format->
sprintf
(
"%-3lx"
,
$api
->new_any_object_array([SPVM::Long->new(-111)])));
}
{
is(
sprintf
(
"%s"
, 1.5), SPVM::Format->
sprintf
(
"%s"
,
$api
->new_any_object_array([
$api
->new_string(1.5)])));
is(
sprintf
(
"%.100s"
, 1.5), SPVM::Format->
sprintf
(
"%.100s"
,
$api
->new_any_object_array([
$api
->new_string(1.5)])));
is(
sprintf
(
"%.3s"
, 1.5), SPVM::Format->
sprintf
(
"%.3s"
,
$api
->new_any_object_array([
$api
->new_string(1.5)])));
is(
sprintf
(
"%+3s"
, 1.5), SPVM::Format->
sprintf
(
"%+3s"
,
$api
->new_any_object_array([
$api
->new_string(1.5)])));
is(
sprintf
(
"%-3s"
, 1.5), SPVM::Format->
sprintf
(
"%-3s"
,
$api
->new_any_object_array([
$api
->new_string(1.5)])));
is(
sprintf
(
"%.3s"
, 1111.5), SPVM::Format->
sprintf
(
"%.3s"
,
$api
->new_any_object_array([
$api
->new_string(1111.5)])));
is(
sprintf
(
"%+3s"
, 1111.5), SPVM::Format->
sprintf
(
"%+3s"
,
$api
->new_any_object_array([
$api
->new_string(1111.5)])));
is(
sprintf
(
"%-3s"
, 1111.5), SPVM::Format->
sprintf
(
"%-3s"
,
$api
->new_any_object_array([
$api
->new_string(1111.5)])));
is(
sprintf
(
"%.3s"
, 111.5), SPVM::Format->
sprintf
(
"%.3s"
,
$api
->new_any_object_array([
$api
->new_string(111.5)])));
is(
sprintf
(
"%+3s"
, 111.5), SPVM::Format->
sprintf
(
"%+3s"
,
$api
->new_any_object_array([
$api
->new_string(111.5)])));
is(
sprintf
(
"%-3s"
, 111.5), SPVM::Format->
sprintf
(
"%-3s"
,
$api
->new_any_object_array([
$api
->new_string(111.5)])));
}
{
is(
sprintf
(
"%u"
, 1), SPVM::Format->
sprintf
(
"%u"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%0100u"
, 1), SPVM::Format->
sprintf
(
"%0100u"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03u"
, 1), SPVM::Format->
sprintf
(
"%03u"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%+3u"
, 1), SPVM::Format->
sprintf
(
"%+3u"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%-3u"
, 1), SPVM::Format->
sprintf
(
"%-3u"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03u"
, 1111), SPVM::Format->
sprintf
(
"%03u"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%+3u"
, 1111), SPVM::Format->
sprintf
(
"%+3u"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%-3u"
, 1111), SPVM::Format->
sprintf
(
"%-3u"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%03u"
, 111), SPVM::Format->
sprintf
(
"%03u"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%+3u"
, 111), SPVM::Format->
sprintf
(
"%+3u"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%-3u"
, 111), SPVM::Format->
sprintf
(
"%-3u"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%u"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%u"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%0100u"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%0100u"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%03u"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03u"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%+3u"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3u"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%-3u"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3u"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%03u"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03u"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%+3u"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3u"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%-3u"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3u"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%03u"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03u"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
is(
sprintf
(
"%+3u"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3u"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
is(
sprintf
(
"%-3u"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3u"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
}
{
is(
sprintf
(
"%x"
, 1), SPVM::Format->
sprintf
(
"%x"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%0100x"
, 1), SPVM::Format->
sprintf
(
"%0100x"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03x"
, 1), SPVM::Format->
sprintf
(
"%03x"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%+3x"
, 1), SPVM::Format->
sprintf
(
"%+3x"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%-3x"
, 1), SPVM::Format->
sprintf
(
"%-3x"
,
$api
->new_any_object_array([SPVM::Int->new(1)])));
is(
sprintf
(
"%03x"
, 1111), SPVM::Format->
sprintf
(
"%03x"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%+3x"
, 1111), SPVM::Format->
sprintf
(
"%+3x"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%-3x"
, 1111), SPVM::Format->
sprintf
(
"%-3x"
,
$api
->new_any_object_array([SPVM::Int->new(1111)])));
is(
sprintf
(
"%03x"
, 111), SPVM::Format->
sprintf
(
"%03x"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%+3x"
, 111), SPVM::Format->
sprintf
(
"%+3x"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%-3x"
, 111), SPVM::Format->
sprintf
(
"%-3x"
,
$api
->new_any_object_array([SPVM::Int->new(111)])));
is(
sprintf
(
"%x"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%x"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%0100x"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%0100x"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%03x"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03x"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%+3x"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3x"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%-3x"
, -1 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3x"
,
$api
->new_any_object_array([SPVM::Int->new(-1)])));
is(
sprintf
(
"%03x"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03x"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%+3x"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3x"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%-3x"
, -1111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3x"
,
$api
->new_any_object_array([SPVM::Int->new(-1111)])));
is(
sprintf
(
"%03x"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%03x"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
is(
sprintf
(
"%+3x"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%+3x"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
is(
sprintf
(
"%-3x"
, -111 & 0xFFFFFFFF), SPVM::Format->
sprintf
(
"%-3x"
,
$api
->new_any_object_array([SPVM::Int->new(-111)])));
}
}
}
$api
->set_exception(
undef
);
my
$end_memory_blocks_count
=
$api
->get_memory_blocks_count();
is(
$end_memory_blocks_count
,
$start_memory_blocks_count
);
done_testing;