From: Jesse Luehrs <doy@tozt.net>
Date: Wed, 22 Sep 2010 18:07:46 +0000 (-0500)
Subject: fix code vivify tests
X-Git-Tag: 0.09~3
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=41fc247afe43b3ca9bce931d224935a7bcf5a3bf;p=gitmo%2FPackage-Stash-XS.git

fix code vivify tests
---

diff --git a/t/04-get.t b/t/04-get.t
index 8499938..3c4ae43 100644
--- a/t/04-get.t
+++ b/t/04-get.t
@@ -73,6 +73,31 @@ use Package::Stash;
 
 {
     BEGIN {
+        my $stash = Package::Stash->new('Code');
+        my $val = $stash->get_package_symbol('&foo');
+        is($val, undef, "got nothing yet");
+    }
+    {
+        no warnings 'void', 'once';
+        sub Code::foo { }
+    }
+    BEGIN {
+        my $stash = Package::Stash->new('Code');
+        my $val = $stash->get_package_symbol('&foo');
+        is(ref($val), 'CODE', "got something");
+        is(prototype($val), undef, "got the right variable");
+        &Scalar::Util::set_prototype($val, '&');
+        is($stash->get_package_symbol('&foo'), $val,
+           "got the right variable");
+        is(prototype($stash->get_package_symbol('&foo')), '&',
+           "got the right variable");
+        is(prototype(\&Code::foo), '&',
+           "stash has the right variable");
+    }
+}
+
+{
+    BEGIN {
         my $stash = Package::Stash->new('Io');
         my $val = $stash->get_package_symbol('FOO');
         is($val, undef, "got nothing yet");