diff options
author | Michael Reddick <michael.reddick@gmail.com> | 2013-06-20 15:20:41 -0500 |
---|---|---|
committer | Michael Reddick <michael.reddick@gmail.com> | 2013-06-20 15:20:41 -0500 |
commit | aac3b20f3546338a8bcda64d5e4a758673734b87 (patch) | |
tree | 266bfe33b4748f0a174e820262e9dfd473d4f2ad /t/compile-error.t | |
parent | 24eb6a6a9c8c72cb4c4dc9e95aff83a2fb2e356f (diff) | |
download | class-refresh-aac3b20f3546338a8bcda64d5e4a758673734b87.tar.gz class-refresh-aac3b20f3546338a8bcda64d5e4a758673734b87.zip |
Test case for compile error
Diffstat (limited to 't/compile-error.t')
-rw-r--r-- | t/compile-error.t | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/t/compile-error.t b/t/compile-error.t new file mode 100644 index 0000000..afc06a6 --- /dev/null +++ b/t/compile-error.t @@ -0,0 +1,43 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Test::Exception; +use Test::Requires 'Moose'; +use lib 't/lib'; +use Test::Class::Refresh; +use Try::Tiny; + +use Class::Refresh; + +my $dir = prepare_temp_dir_for('compile-error'); +push @INC, $dir->dirname; + +require Foo; + +Class::Refresh->refresh; + +my $foo = Foo->new; +lives_ok { $foo->meth } '$foo->meth works'; + + +sleep 2; +update_temp_dir_for('compile-error', $dir, 'middle'); + +try { +Class::Refresh->refresh; +}; + +dies_ok { $foo->meth } '$foo->meth doesnt work now'; + +sleep 2; +update_temp_dir_for('compile-error', $dir, 'after'); + +try { +Class::Refresh->refresh; +}; + +lives_ok { $foo->meth } '$foo->meth works again'; + + +done_testing; |