Add a test that singletons are not destroyed (although this doesn't test the real...
Dave Rolsky [Thu, 24 Dec 2009 20:17:45 +0000 (14:17 -0600)]
Makefile.PL
t/003-immutable.t

index b6df86c..934caa0 100644 (file)
@@ -7,6 +7,7 @@ all_from 'lib/MooseX/Singleton.pm';
 
 requires 'Moose' => '0.82';
 
+build_requires 'Scalar::Util';
 build_requires 'Test::More';
 build_requires 'Test::Exception';
 
index 39e45bd..1385d07 100644 (file)
@@ -1,6 +1,7 @@
 use strict;
 use warnings;
 
+use Scalar::Util qw( refaddr );
 use Test::More;
 
 BEGIN {
@@ -8,7 +9,7 @@ BEGIN {
         plan skip_all => 'These tests require Test::Warn';
     }
     else {
-        plan tests => 17;
+        plan tests => 18;
     }
 }
 
@@ -80,3 +81,14 @@ is($mst->distinct_keys, 0, "Package->clear works");
 is($mst2->distinct_keys, 0, "Package->clear works");
 is(MooseX::Singleton::Test->distinct_keys, 0, "Package->clear works");
 
+{
+    my $addr;
+
+    {
+        $addr = refaddr( MooseX::Singleton::Test->instance );
+    }
+
+    is( $addr, refaddr( MooseX::Singleton::Test->instance ),
+        'singleton is not randomly destroyed' );
+}
+