From 56a29840c0b7b0c4a09243ea05400c3df8ad0823 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 11 May 2010 22:02:16 -0500 Subject: more support for IO slots --- t/003-io.t | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 t/003-io.t (limited to 't/003-io.t') diff --git a/t/003-io.t b/t/003-io.t new file mode 100644 index 0000000..a41b2ae --- /dev/null +++ b/t/003-io.t @@ -0,0 +1,50 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Test::Exception; + +{ + package Foo; + open *foo, "<", $0; + + sub foo { } +} + +{ + package Bar; + open *bar, "<", $0; + + sub bar { } +} + +use Stash::Manip; + +{ + my $stash = Stash::Manip->new('Foo'); + ok($stash->has_package_symbol('&foo'), "has &foo"); + ok($stash->has_package_symbol('foo'), "has foo"); + $stash->remove_package_symbol('&foo'); + ok(!$stash->has_package_symbol('&foo'), "has &foo"); + ok($stash->has_package_symbol('foo'), "has foo"); +} + +{ + my $stash = Stash::Manip->new('Bar'); + ok($stash->has_package_symbol('&bar'), "has &bar"); + ok($stash->has_package_symbol('bar'), "has bar"); + $stash->remove_package_symbol('bar'); + ok($stash->has_package_symbol('&bar'), "has &bar"); + ok(!$stash->has_package_symbol('bar'), "has bar"); +} + +{ + my $stash = Stash::Manip->new('Baz'); + lives_ok { + $stash->add_package_symbol('baz', *Foo::foo{IO}); + } "can add an IO symbol"; + ok($stash->has_package_symbol('baz'), "has baz"); + is($stash->get_package_symbol('baz'), *Foo::foo{IO}, "got the right baz"); +} + +done_testing; -- cgit v1.2.3-54-g00ecf