@INC = '../lib';
}
-use Test::More tests => 10;
+use Test::More tests => 19;
BEGIN { $_ = 'foo'; } # because Symbol used to clobber $_
$sym1 = $sym2 = undef;
+# Test geniosym()
+
+use Symbol qw(geniosym);
+
+$sym1 = geniosym;
+like( $sym1, qr/=IO\(/, 'got an IO ref' );
+
+$FOO = 'Eymascalar';
+*FOO = $sym1;
+
+is( $sym1, *FOO{IO}, 'assigns into glob OK' );
+
+is( $FOO, 'Eymascalar', 'leaves scalar alone' );
+
+{
+ local $^W=1; # 5.005 compat.
+ my $warn;
+ local $SIG{__WARN__} = sub { $warn .= "@_" };
+ readline FOO;
+ like( $warn, qr/unopened filehandle/, 'warns like an unopened filehandle' );
+}
# Test qualify()
package foo;
'qualify() with an identifier starting with a _' );
::ok( qualify("^FOO") eq "main::\cFOO",
'qualify() with an identifier starting with a ^' );
+
+# tests for delete_package
+package main;
+$Transient::variable = 42;
+ok( exists $::{'Transient::'}, 'transient stash exists' );
+ok( defined $Transient::{variable}, 'transient variable in stash' );
+Symbol::delete_package('Transient');
+ok( !exists $Transient::{variable}, 'transient variable no longer in stash' );
+is( scalar(keys %Transient::), 0, 'transient stash is empty' );
+ok( !exists $::{'Transient::'}, 'no transient stash' );