remove some unnecessary casts
[gitmo/Package-Stash-XS.git] / t / 02-extension.t
index 2f95f15..0136b1a 100644 (file)
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 use Test::More;
-use Test::Exception;
+use Test::Fatal;
 
 {
     package My::Package::Stash;
@@ -13,14 +13,17 @@ use Test::Exception;
 
     use Symbol 'gensym';
 
-    sub namespace {
-        $_[0]->{namespace} ||= {}
+    sub new {
+        my $class = shift;
+        my $self = $class->SUPER::new(@_);
+        $self->{namespace} = {};
+        return $self;
     }
 
     sub add_package_symbol {
         my ($self, $variable, $initial_value) = @_;
 
-        my ($name, $sigil, $type) = $self->_deconstruct_variable_name($variable);
+        (my $name = $variable) =~ s/^[\$\@\%\&]//;
 
         my $glob = gensym();
         *{$glob} = $initial_value if defined $initial_value;
@@ -37,9 +40,9 @@ isa_ok($foo_stash, 'Package::Stash');
 ok(!defined($Foo::{foo}), '... the %foo slot has not been created yet');
 ok(!$foo_stash->has_package_symbol('%foo'), '... the foo_stash agrees');
 
-lives_ok {
+is(exception {
     $foo_stash->add_package_symbol('%foo' => { one => 1 });
-} '... the %foo symbol is created succcessfully';
+}, undef, '... the %foo symbol is created succcessfully');
 
 ok(!defined($Foo::{foo}), '... the %foo slot has not been created in the actual Foo package');
 ok($foo_stash->has_package_symbol('%foo'), '... the foo_stash agrees');
@@ -53,17 +56,17 @@ is($foo, $foo_stash->get_package_symbol('%foo'), '... our %foo is the same as th
 
 ok(!defined($Foo::{bar}), '... the @bar slot has not been created yet');
 
-lives_ok {
+is(exception {
     $foo_stash->add_package_symbol('@bar' => [ 1, 2, 3 ]);
-} '... created @Foo::bar successfully';
+}, undef, '... created @Foo::bar successfully');
 
 ok(!defined($Foo::{bar}), '... the @bar slot has still not been created');
 
 ok(!defined($Foo::{baz}), '... the %baz slot has not been created yet');
 
-lives_ok {
+is(exception {
     $foo_stash->add_package_symbol('%baz');
-} '... created %Foo::baz successfully';
+}, undef, '... created %Foo::baz successfully');
 
 ok(!defined($Foo::{baz}), '... the %baz slot has still not been created');