diff options
Diffstat (limited to 't')
-rw-r--r-- | t/data/new-modules/after/Foo.pm | 7 | ||||
-rw-r--r-- | t/data/new-modules/before/Foo.pm | 7 | ||||
-rw-r--r-- | t/data/new-modules/middle/Foo.pm | 7 | ||||
-rw-r--r-- | t/new-modules.t | 34 |
4 files changed, 55 insertions, 0 deletions
diff --git a/t/data/new-modules/after/Foo.pm b/t/data/new-modules/after/Foo.pm new file mode 100644 index 0000000..54b998e --- /dev/null +++ b/t/data/new-modules/after/Foo.pm @@ -0,0 +1,7 @@ +package Foo; +use strict; +use warnings; + +sub bar { 3 } + +1; diff --git a/t/data/new-modules/before/Foo.pm b/t/data/new-modules/before/Foo.pm new file mode 100644 index 0000000..71386af --- /dev/null +++ b/t/data/new-modules/before/Foo.pm @@ -0,0 +1,7 @@ +package Foo; +use strict; +use warnings; + +sub bar { 1 } + +1; diff --git a/t/data/new-modules/middle/Foo.pm b/t/data/new-modules/middle/Foo.pm new file mode 100644 index 0000000..2971777 --- /dev/null +++ b/t/data/new-modules/middle/Foo.pm @@ -0,0 +1,7 @@ +package Foo; +use strict; +use warnings; + +sub bar { 2 } + +1; diff --git a/t/new-modules.t b/t/new-modules.t new file mode 100644 index 0000000..aae0aff --- /dev/null +++ b/t/new-modules.t @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use lib 't/lib'; +use Test::Class::Refresh; + +use Class::Refresh; + +my $dir = prepare_temp_dir_for('new-modules'); +push @INC, $dir->dirname; + +Class::Refresh->refresh; + +# load Foo after the first call to refresh +require Foo; + +is(Foo->bar, 1); + +sleep 2; +update_temp_dir_for('new-modules', $dir, 'middle'); + +Class::Refresh->refresh; + +is(Foo->bar, 2); + +sleep 2; +update_temp_dir_for('new-modules', $dir, 'after'); + +Class::Refresh->refresh; + +is(Foo->bar, 3); + +done_testing; |