summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-04-05 22:16:04 -0500
committerJesse Luehrs <doy@tozt.net>2011-04-05 22:16:04 -0500
commit43a3a6d662f97d039fe9d02ddf10b89bfc6fd16e (patch)
treecaf5fe84f19aa71807582f2bce3779178130b5dc
parent728e904fa63ff6fe503e21eba35f1e8c04c57591 (diff)
downloadclass-refresh-43a3a6d662f97d039fe9d02ddf10b89bfc6fd16e.tar.gz
class-refresh-43a3a6d662f97d039fe9d02ddf10b89bfc6fd16e.zip
test for changing global variables too
-rw-r--r--t/basic.t11
-rw-r--r--t/data/basic/after/Foo.pm3
-rw-r--r--t/data/basic/before/Foo.pm3
3 files changed, 17 insertions, 0 deletions
diff --git a/t/basic.t b/t/basic.t
index 3388e8b..9b7eb8a 100644
--- a/t/basic.t
+++ b/t/basic.t
@@ -16,6 +16,9 @@ Class::Refresh->refresh;
can_ok('Foo', 'meth');
ok(!Foo->can('other_meth'), "!Foo->can('other_meth')");
+is($Foo::FOO, 1, "package global exists");
+is($Foo::BAR, 2, "other package global exists");
+ok(!defined($Foo::BAZ), "third package global doesn't exist");
sleep 2;
@@ -25,5 +28,13 @@ Class::Refresh->refresh;
can_ok('Foo', 'other_meth');
ok(!Foo->can('meth'), "!Foo->can('meth')");
+{ local $TODO = "hrm, global access like this is resolved at compile time";
+is($Foo::FOO, 10, "package global exists with new value");
+ok(!defined($Foo::BAR), "other package global doesn't exist");
+is($Foo::BAZ, 30, "third package global exists");
+}
+is(eval '$Foo::FOO', 10, "package global exists with new value");
+ok(!defined(eval '$Foo::BAR'), "other package global doesn't exist");
+is(eval '$Foo::BAZ', 30, "third package global exists");
done_testing;
diff --git a/t/data/basic/after/Foo.pm b/t/data/basic/after/Foo.pm
index b9c85eb..7c4342e 100644
--- a/t/data/basic/after/Foo.pm
+++ b/t/data/basic/after/Foo.pm
@@ -1,5 +1,8 @@
package Foo;
+our $FOO = 10;
+our $BAZ = 30;
+
sub other_meth { }
1;
diff --git a/t/data/basic/before/Foo.pm b/t/data/basic/before/Foo.pm
index 11641b4..33fcac4 100644
--- a/t/data/basic/before/Foo.pm
+++ b/t/data/basic/before/Foo.pm
@@ -1,5 +1,8 @@
package Foo;
+our $FOO = 1;
+our $BAR = 2;
+
sub meth { }
1;