diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-06-21 02:15:12 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-06-21 02:17:47 -0400 |
commit | 90cb3049e67c573dd479ba9ee5e4f5fe189916c2 (patch) | |
tree | ed99880cbd7cbe36bdbdc2e246e9cae3fa6745ca /t | |
parent | bd786985415d1883aa8da00f7f7d9860112e3875 (diff) | |
download | class-refresh-90cb3049e67c573dd479ba9ee5e4f5fe189916c2.tar.gz class-refresh-90cb3049e67c573dd479ba9ee5e4f5fe189916c2.zip |
fix refreshing a module first loaded after the first refresh call
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; |