parrotcode: Untitled | |
Contents | Language Implementations | Perl6 |
## ok
ok(2 + 2 == 4, '2 and 2 make 4'); ok(2 + 2 == 4, desc => '2 and 2 make 4'); ok(2 + 2 == 4, :desc('2 and 2 make 4'));
ok(2 + 2 == 5, desc => '2 and 2 doesnt make 5', todo => <bug>); ok(2 + 2 == 5, :desc('2 and 2 doesnt make 5'), :todo(1));
## is
is(2 + 2, 4, '2 and 2 make 4'); is(2 + 2, 4, desc => '2 and 2 make 4'); is(2 + 2, 4, :desc('2 and 2 make 4'));
is(2 + 2, 5, todo => 1, desc => '2 and 2 doesnt make 5'); is(2 + 2, 5, :todo<feature>, :desc('2 and 2 doesnt make 5'));
## isnt
isnt(2 + 2, 5, '2 and 2 does not make 5'); isnt(2 + 2, 5, desc => '2 and 2 does not make 5'); isnt(2 + 2, 5, :desc('2 and 2 does not make 5'));
isnt(2 + 2, 4, '2 and 2 does make 4', :todo(1)); isnt(2 + 2, 4, desc => '2 and 2 does make 4', todo => 1); isnt(2 + 2, 4, :desc('2 and 2 does make 4'), todo => 1);
## is_deeply
is_deeply([ 1..4 ], [ 1..4 ], "is_deeply (simple)");
is_deeply({ a => "b", c => "d", nums => [<1 2 3 4 5 6>] }, { nums => ['1'..'6'], <a b c d> }, "is_deeply (more complex)");
my @a = "a" .. "z"; my @b = @a.reverse; @b = @b.map(sub($a, $b) { $b, $a }); my %a = @a; my %b = @b; is_deeply(%a, %b, "is_deeply (test hash key ordering)");
## isa_ok
my @list = ( 1, 2, 3 );
isa_ok(@list, 'List'); isa_ok({ 'one' => 1 }, 'Hash');
isa_ok(@list, 'Hash', 'this is a description', todo => 1); isa_ok(@list, 'Hash', desc => 'this is a description', :todo<bug>); isa_ok(@list, 'Array', :desc('this is a description'));
class Foo {}; my $foo = Foo.new(); isa_ok($foo, 'Foo'); isa_ok(Foo.new(), 'Foo');
## like
like("Hello World", rx:P5/\s/, '... testing like()'); like("Hello World", rx:P5/\s/, desc => '... testing like()'); like("Hello World", rx:P5/\s/, :desc('... testing like()'));
like("HelloWorld", rx:P5/\s/, desc => '... testing like()', todo => 1); like("HelloWorld", rx:P5/\s/, :todo(1), :desc('... testing like()'));
## unlike
unlike("HelloWorld", rx:P5/\s/, '... testing unlike()'); unlike("HelloWorld", rx:P5/\s/, desc => '... testing unlike()'); unlike("HelloWorld", rx:P5/\s/, :desc('... testing unlike()'));
unlike("Hello World", rx:P5/\s/, todo => 1, desc => '... testing unlike()'); unlike("Hello World", rx:P5/\s/, :desc('... testing unlike()'), :todo(1));
## cmp_ok
cmp_ok('test', sub ($a, $b) { ?($a gt $b) }, 'me', '... testing gt on two strings'); cmp_ok('test', sub ($a, $b) { ?($a gt $b) }, 'me', desc => '... testing gt on two strings'); cmp_ok('test', sub ($a, $b) { ?($a gt $b) }, 'me', :desc('... testing gt on two strings'));
cmp_ok('test', sub ($a, $b) { ?($a gt $b) }, 'you', :todo(1), desc => '... testing gt on two strings'); cmp_ok('test', sub ($a, $b) { ?($a gt $b) }, 'you', :desc('... testing gt on two strings'), todo => 1);
## use_ok
use lib <ext/Test>; # Hack if we're run from make smoke use_ok('t::use_ok_test');
# Need to do a test loading a package that is not there, # and see that the load fails. Gracefully. :) #use_ok('Non::Existent::Package', :todo(1));
## dies_ok
dies_ok -> { die "Testing dies_ok" }, '... it dies_ok'; dies_ok -> { die "Testing dies_ok" }, desc => '... it dies_ok'; dies_ok -> { die "Testing dies_ok" }, :desc('... it dies_ok');
dies_ok -> { "Testing dies_ok" }, desc => '... it dies_ok', todo => 1; dies_ok -> { "Testing dies_ok" }, :desc('... it dies_ok'), :todo(1);
## lives_ok
lives_ok -> { "test" }, '... it lives_ok'; lives_ok -> { "test" }, desc => '... it lives_ok'; lives_ok -> { "test" }, :desc('... it lives_ok');
lives_ok -> { die "test" }, desc => '... it lives_ok', todo => 1; lives_ok -> { die "test" }, :desc('... it lives_ok'), :todo(1);
## throws_ok
#throws_ok -> { die "Testing throws_ok" }, 'Testing throws_ok', '... it throws_ok with a Str'; #throws_ok -> { die "Testing throws_ok" }, rx:P5:i/testing throws_ok/, '... it throws_ok with a Rule';
## diag
diag('some misc comments and documentation');
## pass
pass('This test passed');
## flunk
flunk('This test failed', todo => 1); flunk('This test failed', :todo(1));
## skip
skip('skip this test for now'); skip(3, 'skip 3 more tests for now'); skip_rest('skipping the rest');
1;
|