| File: | t/module.t |
| Coverage: | 96.3% |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | 1 1 1 | 11020 4 82 | use strict; | ||||
| 2 | 1 1 1 | 5 1 103 | use warnings; | ||||
| 3 | |||||||
| 4 | 1 1 1 | 1455 133807 8 | use Test::Most; | ||||
| 5 | |||||||
| 6 | 1 1 1 | 64799 2 92 | use constant MODULE => 'Time::DoAfter'; | ||||
| 7 | |||||||
| 8 | 1 1 1 1 1 | 4 687 1 2 22 | BEGIN { use_ok(MODULE); } | ||||
| 9 | 1 | 115055 | require_ok(MODULE); | ||||
| 10 | |||||||
| 11 | 1 | 499 | my @obj; | ||||
| 12 | 1 | 4 | ok( push( @obj, MODULE->new ), MODULE . '->new' ); | ||||
| 13 | 1 | 149 | is( ref $obj[-1], MODULE, 'ref $object' ); | ||||
| 14 | |||||||
| 15 | 1 | 196 | ok( push( @obj, MODULE->new( sub {} ) ), MODULE . '->new( sub {} )' ); | ||||
| 16 | 1 | 208 | is( ref $obj[-1], MODULE, 'ref $object' ); | ||||
| 17 | |||||||
| 18 | 1 | 191 | ok( push( @obj, MODULE->new( 'label1', sub {} ) ), MODULE . '->new( sub {} )' ); | ||||
| 19 | 1 | 172 | is( ref $obj[-1], MODULE, 'ref $object' ); | ||||
| 20 | |||||||
| 21 | ok( push( @obj, | ||||||
| 22 | 1 | 242 | MODULE->new( 'label2', sub {}, 2, 3, 'label3', sub {}, sub{}, 'label4', [ 2, 3 ] ) | ||||
| 23 | ), MODULE . '->new( sub {} )' ); | ||||||
| 24 | 1 | 199 | is( ref $obj[-1], MODULE, 'ref $object' ); | ||||
| 25 | |||||||
| 26 | 1 1 | 191 28 | lives_ok( sub{ $obj[1]->do }, '$object->do' ); | ||||
| 27 | 1 1 | 184 16 | lives_ok( sub{ $obj[0]->do( sub {} ) }, '$object->do( sub {} )' ); | ||||
| 28 | 1 1 | 176 15 | lives_ok( sub{ $obj[0]->do('label1') }, '$object->do("label") run 1' ); | ||||
| 29 | 1 1 | 178 15 | lives_ok( sub{ $obj[0]->do('label1') }, '$object->do("label") run 2' ); | ||||
| 30 | 1 1 | 191 15 | lives_ok( sub{ $obj[0]->do('label1') }, '$object->do("label") run 3' ); | ||||
| 31 | |||||||
| 32 | 1 | 169 | my $history; | ||||
| 33 | 1 1 | 5 15 | lives_ok( sub { $history = $obj[0]->history }, '$object->history' ); | ||||
| 34 | 1 | 172 | is( @$history, 5, 'full history size' ); | ||||
| 35 | |||||||
| 36 | 1 1 | 195 90 | lives_ok( sub { $history = $obj[0]->history('label1') }, '$object->history("label")' ); | ||||
| 37 | 1 | 302 | is( @$history, 3, 'label history size' ); | ||||
| 38 | |||||||
| 39 | 1 1 | 199 20 | lives_ok( sub { $history = $obj[0]->history('label1', 2 ) }, '$object->history( "label", 2 )' ); | ||||
| 40 | 1 | 200 | is( @$history, 2, 'label history size' ); | ||||
| 41 | |||||||
| 42 | 1 | 192 | ok( $obj[0]->last, '$object->last' ); | ||||
| 43 | 1 | 188 | ok( $obj[0]->last('label1'), '$object->last("label")' ); | ||||
| 44 | 1 | 166 | ok( $obj[0]->last( 'label1', 1138 ), '$object->last( "label", time )' ); | ||||
| 45 | 1 | 179 | is( $obj[0]->last('label1'), 1138, '$object->last("label") new time' ); | ||||
| 46 | |||||||
| 47 | 1 | 193 | ok( $obj[0]->now, '$object->now' ); | ||||
| 48 | |||||||
| 49 | 1 | 242 | my $sub = sub {}; | ||||
| 50 | 1 | 6 | isnt( $obj[0]->sub('label1'), $sub, '$object->sub("label")' ); | ||||
| 51 | 1 1 | 198 20 | lives_ok( sub { $obj[0]->sub( 'label1', $sub ) }, '$object->sub( "label", sub {} )' ); | ||||
| 52 | 1 | 168 | is( $obj[0]->sub('label1'), $sub, '$object->sub("label") saved' ); | ||||
| 53 | |||||||
| 54 | |||||||
| 55 | |||||||
| 56 | |||||||
| 57 | |||||||
| 58 | 1 | 220 | is_deeply( $obj[0]->wait('label4'), [ 2, 3 ], '$object->wait("label")' ); | ||||
| 59 | 1 1 | 492 26 | lives_ok( sub { $obj[0]->wait( 'label4', [ 5, 7 ] ) }, '$object->wait( "label", $new_wait )' ); | ||||
| 60 | 1 | 190 | is_deeply( $obj[0]->wait('label4'), [ 5, 7 ], '$object->wait("label") saved' ); | ||||
| 61 | |||||||
| 62 | |||||||
| 63 | |||||||
| 64 | |||||||
| 65 | |||||||
| 66 | |||||||
| 67 | |||||||
| 68 | |||||||
| 69 | |||||||
| 70 | 1 | 365 | done_testing; | ||||