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; |