r70417 - in /branches/upstream/libpackage-stash-xs-perl/current: Changes META.json META.yml Makefile.PL README XS.xs lib/Package/Stash/XS.pm t/00-compile.t t/02-extension.t t/07-edge-cases.t

ansgar at users.alioth.debian.org ansgar at users.alioth.debian.org
Sat Mar 5 12:49:09 UTC 2011


Author: ansgar
Date: Sat Mar  5 12:48:53 2011
New Revision: 70417

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=70417
Log:
[svn-upgrade] new version libpackage-stash-xs-perl (0.22)

Modified:
    branches/upstream/libpackage-stash-xs-perl/current/Changes
    branches/upstream/libpackage-stash-xs-perl/current/META.json
    branches/upstream/libpackage-stash-xs-perl/current/META.yml
    branches/upstream/libpackage-stash-xs-perl/current/Makefile.PL
    branches/upstream/libpackage-stash-xs-perl/current/README
    branches/upstream/libpackage-stash-xs-perl/current/XS.xs
    branches/upstream/libpackage-stash-xs-perl/current/lib/Package/Stash/XS.pm
    branches/upstream/libpackage-stash-xs-perl/current/t/00-compile.t
    branches/upstream/libpackage-stash-xs-perl/current/t/02-extension.t
    branches/upstream/libpackage-stash-xs-perl/current/t/07-edge-cases.t

Modified: branches/upstream/libpackage-stash-xs-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/Changes?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/Changes (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/Changes Sat Mar  5 12:48:53 2011
@@ -1,4 +1,10 @@
 Revision history for Package-Stash-XS
+
+0.22  2011-03-04
+      - make the namespace cache lazy and weak, in case the stash is deleted
+      - but, this doesn't work on 5.8, so disable the namespace caching
+        entirely there
+
 
 0.21  2011-01-25
       - make the leak tests author-only, since some smokers run release tests

Modified: branches/upstream/libpackage-stash-xs-perl/current/META.json
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/META.json?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/META.json (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/META.json Sat Mar  5 12:48:53 2011
@@ -4,7 +4,7 @@
       "Jesse Luehrs <doy at tozt dot net>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.200000, CPAN::Meta::Converter version 2.101670",
+   "generated_by" : "Dist::Zilla version 4.200004, CPAN::Meta::Converter version 2.110580",
    "license" : [
       "perl_5"
    ],
@@ -40,91 +40,103 @@
    "resources" : {
       "repository" : {
          "type" : "git",
-         "url" : "git://github.com/doy/package-stash-xs.git"
+         "url" : "git://github.com/doy/package-stash-xs.git",
+         "web" : "http://github.com/doy/package-stash-xs"
       }
    },
-   "version" : "0.21",
+   "version" : "0.22",
    "x_Dist_Zilla" : {
       "plugins" : [
          {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "test",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@DOY/TestMoreDoneTesting",
+            "version" : "4.200004"
+         },
+         {
             "class" : "Dist::Zilla::Plugin::GatherDir",
             "name" : "@DOY/GatherDir",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@DOY/PruneCruft",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@DOY/ManifestSkip",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@DOY/MetaYAML",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@DOY/License",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@DOY/Readme",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExtraTests",
             "name" : "@DOY/ExtraTests",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@DOY/ExecDir",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@DOY/ShareDir",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
             "name" : "@DOY/MakeMaker",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@DOY/Manifest",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@DOY/TestRelease",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@DOY/ConfirmRelease",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@DOY/MetaConfig",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@DOY/MetaJSON",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@DOY/NextRelease",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
@@ -134,17 +146,17 @@
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@DOY/PkgVersion",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
             "name" : "@DOY/PodCoverageTests",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@DOY/PodSyntaxTests",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::NoTabsTests",
@@ -159,37 +171,37 @@
          {
             "class" : "Dist::Zilla::Plugin::CompileTests",
             "name" : "@DOY/CompileTests",
-            "version" : "1.101800"
+            "version" : "1.103030"
          },
          {
             "class" : "Dist::Zilla::Plugin::Repository",
             "name" : "@DOY/Repository",
-            "version" : "0.13"
+            "version" : "0.17"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@DOY/Git::Check",
-            "version" : "1.103520"
+            "version" : "1.110500"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
             "name" : "@DOY/Git::Tag",
-            "version" : "1.103520"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::BumpVersionFromGit",
-            "name" : "@DOY/BumpVersionFromGit",
-            "version" : "0.007"
+            "version" : "1.110500"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+            "name" : "@DOY/Git::NextVersion",
+            "version" : "1.110500"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
             "name" : "@DOY/PodWeaver",
-            "version" : "3.101640"
+            "version" : "3.101641"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@DOY/UploadToCPAN",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -200,7 +212,7 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -211,7 +223,7 @@
                }
             },
             "name" : "TestRequires",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -222,32 +234,32 @@
                }
             },
             "name" : "DevelopRequires",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneFiles",
             "name" : "PruneFiles",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.200000"
+            "version" : "4.200004"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.200000"
+            "version" : "4.200004"
          }
       ],
       "zilla" : {
@@ -255,7 +267,7 @@
          "config" : {
             "is_trial" : 0
          },
-         "version" : "4.200000"
+         "version" : "4.200004"
       }
    }
 }

Modified: branches/upstream/libpackage-stash-xs-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/META.yml?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/META.yml (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/META.yml Sat Mar  5 12:48:53 2011
@@ -8,7 +8,7 @@
 configure_requires:
   ExtUtils::MakeMaker: 6.31
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.200000, CPAN::Meta::Converter version 2.101670'
+generated_by: 'Dist::Zilla version 4.200004, CPAN::Meta::Converter version 2.110580'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -18,73 +18,81 @@
   perl: 5.8.1
 resources:
   repository: git://github.com/doy/package-stash-xs.git
-version: 0.21
+version: 0.22
 x_Dist_Zilla:
   plugins:
     -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: test
+          type: requires
+      name: '@DOY/TestMoreDoneTesting'
+      version: 4.200004
+    -
       class: Dist::Zilla::Plugin::GatherDir
       name: '@DOY/GatherDir'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@DOY/PruneCruft'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@DOY/ManifestSkip'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@DOY/MetaYAML'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::License
       name: '@DOY/License'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@DOY/Readme'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ExtraTests
       name: '@DOY/ExtraTests'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@DOY/ExecDir'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@DOY/ShareDir'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::MakeMaker
       name: '@DOY/MakeMaker'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@DOY/Manifest'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@DOY/TestRelease'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@DOY/ConfirmRelease'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@DOY/MetaConfig'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@DOY/MetaJSON'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@DOY/NextRelease'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::CheckChangesHasContent
       name: '@DOY/CheckChangesHasContent'
@@ -92,15 +100,15 @@
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@DOY/PkgVersion'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
       name: '@DOY/PodCoverageTests'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@DOY/PodSyntaxTests'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::NoTabsTests
       name: '@DOY/NoTabsTests'
@@ -112,31 +120,31 @@
     -
       class: Dist::Zilla::Plugin::CompileTests
       name: '@DOY/CompileTests'
-      version: 1.101800
+      version: 1.103030
     -
       class: Dist::Zilla::Plugin::Repository
       name: '@DOY/Repository'
-      version: 0.13
+      version: 0.17
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@DOY/Git::Check'
-      version: 1.103520
+      version: 1.110500
     -
       class: Dist::Zilla::Plugin::Git::Tag
       name: '@DOY/Git::Tag'
-      version: 1.103520
+      version: 1.110500
     -
-      class: Dist::Zilla::Plugin::BumpVersionFromGit
-      name: '@DOY/BumpVersionFromGit'
-      version: 0.007
+      class: Dist::Zilla::Plugin::Git::NextVersion
+      name: '@DOY/Git::NextVersion'
+      version: 1.110500
     -
       class: Dist::Zilla::Plugin::PodWeaver
       name: '@DOY/PodWeaver'
-      version: 3.101640
+      version: 3.101641
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@DOY/UploadToCPAN'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -144,7 +152,7 @@
           phase: runtime
           type: requires
       name: Prereqs
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -152,7 +160,7 @@
           phase: test
           type: requires
       name: TestRequires
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -160,29 +168,29 @@
           phase: develop
           type: requires
       name: DevelopRequires
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::PruneFiles
       name: PruneFiles
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.200000
+      version: 4.200004
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.200000
+      version: 4.200004
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: 0
-    version: 4.200000
+    version: 4.200004

Modified: branches/upstream/libpackage-stash-xs-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/Makefile.PL?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/Makefile.PL (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/Makefile.PL Sat Mar  5 12:48:53 2011
@@ -23,7 +23,7 @@
   'LICENSE' => 'perl',
   'NAME' => 'Package::Stash::XS',
   'PREREQ_PM' => {},
-  'VERSION' => '0.21',
+  'VERSION' => '0.22',
   'test' => {
     'TESTS' => 't/*.t'
   }

Modified: branches/upstream/libpackage-stash-xs-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/README?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/README (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/README Sat Mar  5 12:48:53 2011
@@ -1,7 +1,7 @@
 
 
 This archive contains the distribution Package-Stash-XS,
-version 0.21:
+version 0.22:
 
   faster and more correct implementation of the Package::Stash API
 

Modified: branches/upstream/libpackage-stash-xs-perl/current/XS.xs
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/XS.xs?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/XS.xs (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/XS.xs Sat Mar  5 12:48:53 2011
@@ -351,8 +351,6 @@
     SV *package_name
   PREINIT:
     HV *instance;
-    HV *namespace;
-    SV *nsref;
   CODE:
     if (!SvPOK(package_name))
         croak("The constructor argument must be the name of a package");
@@ -363,13 +361,6 @@
         SvREFCNT_dec(package_name);
         SvREFCNT_dec(instance);
         croak("Couldn't initialize the 'name' key, hv_store failed");
-    }
-    namespace = gv_stashpv(SvPV_nolen(package_name), GV_ADD);
-    nsref = newRV_inc((SV*)namespace);
-    if (!hv_store(instance, "namespace", 9, nsref, 0)) {
-        SvREFCNT_dec(nsref);
-        SvREFCNT_dec(instance);
-        croak("Couldn't initialize the 'namespace' key, hv_store failed");
     }
 
     RETVAL = sv_bless(newRV_noinc((SV*)instance), gv_stashsv(class, 0));
@@ -394,11 +385,34 @@
     SV *self
   PREINIT:
     HE *slot;
+    SV *package_name;
   CODE:
     if (!sv_isobject(self))
         croak("Can't call namespace as a class method");
+#if PERL_VERSION < 10
+    package_name = _get_name(self);
+    RETVAL = newRV_inc((SV*)gv_stashpv(SvPV_nolen(package_name), GV_ADD));
+#else
     slot = hv_fetch_ent((HV*)SvRV(self), namespace_key, 0, namespace_hash);
-    RETVAL = slot ? SvREFCNT_inc_simple_NN(HeVAL(slot)) : &PL_sv_undef;
+    if (slot) {
+        RETVAL = SvREFCNT_inc_simple_NN(HeVAL(slot));
+    }
+    else {
+        HV *namespace;
+        SV *nsref;
+
+        package_name = _get_name(self);
+        namespace = gv_stashpv(SvPV_nolen(package_name), GV_ADD);
+        nsref = newRV_inc((SV*)namespace);
+        sv_rvweaken(nsref);
+        if (!hv_store((HV*)SvRV(self), "namespace", 9, nsref, 0)) {
+            SvREFCNT_dec(nsref);
+            SvREFCNT_dec(self);
+            croak("Couldn't initialize the 'namespace' key, hv_store failed");
+        }
+        RETVAL = SvREFCNT_inc_simple_NN(nsref);
+    }
+#endif
   OUTPUT:
     RETVAL
 

Modified: branches/upstream/libpackage-stash-xs-perl/current/lib/Package/Stash/XS.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/lib/Package/Stash/XS.pm?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/lib/Package/Stash/XS.pm (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/lib/Package/Stash/XS.pm Sat Mar  5 12:48:53 2011
@@ -1,6 +1,6 @@
 package Package::Stash::XS;
 BEGIN {
-  $Package::Stash::XS::VERSION = '0.21';
+  $Package::Stash::XS::VERSION = '0.22';
 }
 use strict;
 use warnings;
@@ -29,7 +29,7 @@
 
 =head1 VERSION
 
-version 0.21
+version 0.22
 
 =head1 SYNOPSIS
 

Modified: branches/upstream/libpackage-stash-xs-perl/current/t/00-compile.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/t/00-compile.t?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/t/00-compile.t (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/t/00-compile.t Sat Mar  5 12:48:53 2011
@@ -4,6 +4,9 @@
 use warnings;
 
 use Test::More;
+
+
+
 use File::Find;
 use File::Temp qw{ tempdir };
 

Modified: branches/upstream/libpackage-stash-xs-perl/current/t/02-extension.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/t/02-extension.t?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/t/02-extension.t (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/t/02-extension.t Sat Mar  5 12:48:53 2011
@@ -20,6 +20,8 @@
         $self->{namespace} = {};
         return $self;
     }
+
+    sub namespace { shift->{namespace} }
 
     sub add_symbol {
         my ($self, $variable, $initial_value) = @_;

Modified: branches/upstream/libpackage-stash-xs-perl/current/t/07-edge-cases.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpackage-stash-xs-perl/current/t/07-edge-cases.t?rev=70417&op=diff
==============================================================================
--- branches/upstream/libpackage-stash-xs-perl/current/t/07-edge-cases.t (original)
+++ branches/upstream/libpackage-stash-xs-perl/current/t/07-edge-cases.t Sat Mar  5 12:48:53 2011
@@ -66,4 +66,19 @@
 
 use_ok('CompileTime');
 
+{
+    package Gets::Deleted;
+    sub bar { }
+}
+
+{
+    my $delete = Package::Stash->new('Gets::Deleted');
+    ok($delete->has_symbol('&bar'), "sees the method");
+    {
+        no strict 'refs';
+        delete ${'main::Gets::'}{'Deleted::'};
+    }
+    ok(!$delete->has_symbol('&bar'), "method goes away when stash is deleted");
+}
+
 done_testing;




More information about the Pkg-perl-cvs-commits mailing list