Term-Sk
view release on metacpan or search on metacpan
t/0010_test.t view on Meta::CPAN
{
my $ctr = Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, num => q{9,999} } );
ok(defined($ctr), 'Test-0340: %c of %m works ok');
is(content($ctr->get_line), 'num 1,234,567 of 2,345,678', 'Test-0350: first number %c of %m displayed correctly');
}
{
my $ctr = Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, num => q{9 999} } );
ok(defined($ctr), 'Test-0360: %c of %m works ok');
is(content($ctr->get_line), 'num 1 234 567 of 2 345 678', 'Test-0370: first number %c of %m displayed correctly');
}
{
my $ctr = Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, num => q{9_999} } );
ok(defined($ctr), 'Test-0380: %c of %m works ok');
is(content($ctr->get_line), 'num 1_234_567 of 2_345_678', 'Test-0390: first number %c of %m displayed correctly');
}
{
my $ctr = Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, num => q{9_99} } );
ok(defined($ctr), 'Test-0400: %c of %m works ok');
is(content($ctr->get_line), 'num 1_23_45_67 of 2_34_56_78', 'Test-0410: first number %c of %m displayed correctly');
}
{
my $ctr = Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, num => q{9} } );
ok(defined($ctr), 'Test-0420: %c of %m works ok');
is(content($ctr->get_line), 'num 1234567 of 2345678', 'Test-0430: first number %c of %m displayed correctly');
}
{
my $ctr = Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, num => q{9'999} } );
ok(defined($ctr), 'Test-0440: %c of %m works ok');
is(content($ctr->get_line), q{num 1'234'567 of 2'345'678}, 'Test-0450: first number %c of %m displayed correctly');
}
{
my $ctr = eval{Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, num => q{8'888} } )};
ok($@, 'Test-0460: fails ok');
like($@, qr{Can't [ ] parse [ ] num}xms, 'Test-0470: error message');
}
{
my $flatfile = "Test hijabc\010\010\010xyzklm";
Term::Sk::rem_backspace(\$flatfile);
is($flatfile, 'Test hijxyzklm', 'Test-0480: backspaces have been removed');
}
{
my $flatfile = ('abcde' x 37).("\010" x 28).'fghij';
Term::Sk::rem_backspace(\$flatfile);
is(length($flatfile), 162, 'Test-0540: length abcde (200,15)');
is(substr($flatfile, -10), 'cdeabfghij', 'Test-0560: trailing characters for abcde (200,15)');
}
{
my $ctr = Term::Sk->new('num %c of %m', { test => 1, base => 1234567, target => 2345678, commify => sub{ join '!', split m{}xms, $_[0]; } });
ok(defined($ctr), 'Test-0590: commify sub works ok');
is(content($ctr->get_line), 'num 1!2!3!4!5!6!7 of 2!3!4!5!6!7!8',
'Test-0600: show commified numbers');
}
{
my $ctr = Term::Sk->new('Token %6k Ctr %c', { test => 1, base => 1, token => 'Spain' } );
ok(defined($ctr), 'Test-0610: %6k %c works ok');
is(content($ctr->get_line), q{Token Spain Ctr 1}, 'Test-0620: first Token displayed correctly');
$ctr->token('USA');
is(content($ctr->get_line), q{Token USA Ctr 1}, 'Test-0630: second Token displayed correctly');
$ctr->tok_maybe('China');
is(content($ctr->get_line), q{Token China Ctr 1}, 'Test-0632: third Token displayed correctly');
}
{
# mock-time = Tue Jun 21 14:21:02-28 2011
my $ctr = Term::Sk->new('Time %8t Ctr %c', { test => 1, base => 3, mock_tm => 1308658862.287032} );
ok(defined($ctr), 'Test-0640: %8t %c works ok');
is(content($ctr->get_line), q{Time 00:00:00 Ctr 3}, 'Test-0650: first Time displayed correctly');
# mock-time = Tue Jun 21 14:29:37-53 2011
$ctr->mock_time(1308659377.534502);
$ctr->up;
is(content($ctr->get_line), q{Time 00:08:35 Ctr 4}, 'Test-0660: second Time displayed correctly');
}
{
# mock-time = Tue Jun 21 14:21:02-28 2011
my $ctr = Term::Sk->new('Time %8t %d Ctr %c', { test => 1, base => 2, mock_tm => 1308658862.287032} );
ok(defined($ctr), 'Test-0670: %8t %d %c works ok');
is(content($ctr->get_line), q{Time 00:00:00 - Ctr 2}, 'Test-0680: first Time displayed correctly');
# mock-time = Tue Jun 21 14:21:02-29 2011
$ctr->mock_time(1308658862.291483);
$ctr->up;
is(content($ctr->get_line), q{Time 00:00:00 \ Ctr 3}, 'Test-0690: second Time displayed, dash has not changed');
# mock-time = Tue Jun 21 14:21:02-32 2011
$ctr->mock_time(1308658862.323717);
$ctr->up;
is(content($ctr->get_line), q{Time 00:00:00 | Ctr 4}, 'Test-0700: third Time displayed, dash has changed');
# mock-time = Tue Jun 21 14:21:03-29 2011
$ctr->mock_time(1308658863.2911543);
$ctr->up;
is(content($ctr->get_line), q{Time 00:00:01 / Ctr 5}, 'Test-0710: fourth Time displayed, Time and dash have changed');
}
{
my $flatfile = "Test hijabc\010\010\010xyzklmttt\010\010yzz";
(my $disp_before = $flatfile) =~ s{\010}'<'xmsg;
is($disp_before, q{Test hijabc<<<xyzklmttt<<yzz}, 'Test-0720: before rem_backspace');
Term::Sk::rem_backspace(\$flatfile);
(my $disp_after = $flatfile) =~ s{\010}'<'xmsg;
is($disp_after, q{Test hijxyzklmtyzz}, 'Test-0730: after rem_backspace');
}
{
my $ctr = Term::Sk->new('Token1 %6k Token2 %6k Ctr %c', { test => 1, base => 1, token => ['abc', 'def'] } );
ok(defined($ctr), 'Test-0740: %6k %6k %c works ok');
( run in 0.438 second using v1.01-cache-2.11-cpan-71847e10f99 )