| File: | t/init.t |
| Coverage: | 98.3% |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | 1 1 1 | 28998 13 65 | use strict; | ||||
| 2 | 1 1 1 | 14 9 43 | use warnings; | ||||
| 3 | |||||||
| 4 | 1 1 1 | 708 107664 24 | use Test::Most; | ||||
| 5 | 1 1 1 | 162251 4 157 | use File::Path qw( mkpath rmtree ); | ||||
| 6 | 1 1 1 | 727 1459 7 | use lib 't'; | ||||
| 7 | 1 1 1 | 687 5 2784 | use TestLib qw( t_module t_startup t_teardown t_capture ); | ||||
| 8 | |||||||
| 9 | 1 | 227789 | exit main(); | ||||
| 10 | |||||||
| 11 | sub main { | ||||||
| 12 | 1 | 5 | require_ok( t_module() ); | ||||
| 13 | |||||||
| 14 | 1 | 11642 | basic(); | ||||
| 15 | 1 | 7 | watch_file(); | ||||
| 16 | |||||||
| 17 | 1 | 7 | done_testing(); | ||||
| 18 | 1 | 3445 | return 0; | ||||
| 19 | } | ||||||
| 20 | |||||||
| 21 | sub basic { | ||||||
| 22 | 1 | 44 | t_startup(); | ||||
| 23 | |||||||
| 24 | 1 1 | 17 27 | eval{ t_module->init }; | ||||
| 25 | 1 | 19 | ok( !$@, 'init' ); | ||||
| 26 | |||||||
| 27 | 1 | 4292 | ok( -d '.dest', 'init() += directory' ); | ||||
| 28 | 1 | 1955 | ok( -f '.dest/watch', 'init() += watch file' ); | ||||
| 29 | |||||||
| 30 | 1 1 | 514 31 | throws_ok( sub { t_module->init }, qr/Project already initialized/, 'project already initialized' ); | ||||
| 31 | |||||||
| 32 | 1 | 8642 | t_teardown(); | ||||
| 33 | } | ||||||
| 34 | |||||||
| 35 | sub watch_file { | ||||||
| 36 | 1 | 5 | t_startup(); | ||||
| 37 | |||||||
| 38 | 1 | 6 | my $dest_watch; | ||||
| 39 | 1 | 50 | ok( open( $dest_watch, '>', 'dest.watch' ) || 0, 'open dest.watch file for write' ); | ||||
| 40 | |||||||
| 41 | 1 | 3187 | for ( qw( a b c ) ) { | ||||
| 42 | 3 | 432 | mkpath($_); | ||||
| 43 | 3 | 96 | print $dest_watch $_, "\n"; | ||||
| 44 | } | ||||||
| 45 | 1 | 27 | close $dest_watch; | ||||
| 46 | |||||||
| 47 | is( | ||||||
| 48 | 1 1 | 13 5 | ( t_capture( sub { t_module->init } ) )[1], | ||||
| 49 | "Created new watch list based on dest.watch file:\n a\n b\n c\n", | ||||||
| 50 | 'init with dest.watch', | ||||||
| 51 | ); | ||||||
| 52 | |||||||
| 53 | 1 | 4996 | ok( -f '.dest/watch', 'init() += watch file with dest.watch' ); | ||||
| 54 | 1 | 3379 | ok( -d '.dest', 'init() += directory with dest.watch' ); | ||||
| 55 | |||||||
| 56 | 1 | 1473 | t_teardown(); | ||||
| 57 | } | ||||||