1898184e3Ssthen#!./perl 2898184e3Ssthen 3*9f11ffb7Safresh1# This file is for testing select() with one argument. Four-argument 4*9f11ffb7Safresh1# select() is tested in sselect.t. 5*9f11ffb7Safresh1 6898184e3SsthenBEGIN { 7b8851fccSafresh1 chdir 't' if -d 't'; 8898184e3Ssthen require './test.pl'; 9898184e3Ssthen} 10898184e3Ssthen 11898184e3Ssthenplan reverse 9; 12898184e3Ssthen 13898184e3Ssthen 14898184e3Ssthenopen my $fh, "test.pl" or die "$0 unfortunately cannot open test.pl: $!"; 15898184e3Ssthen 16898184e3Ssthenis select, 'main::STDOUT', 'select retval'; 17898184e3Ssthenis select($fh), 'main::STDOUT', 'select retval when called with argument'; 18898184e3Ssthenok ref select, 'select returns ref for glob generated by open'; 19898184e3Ssthenis select, $fh, 'the ref returned references the right referent'; 20898184e3Ssthenis select(STDOUT), $fh, 'select previous ref when setting to bareword'; 21898184e3Ssthenis select, 'main::STDOUT', 'switching back to STDOUT'; 22898184e3Ssthenis ref\select, 'SCALAR', 'and STDOUT is a plain string'; 23898184e3Ssthen 24898184e3Ssthenopen foo::bar, "test.pl" or die "$0 sadly cannot open test.pl: $!"; 25898184e3Ssthenselect foo::bar; 26898184e3Ssthen$handle = \*foo::bar; 27898184e3Ssthen$stash = \%foo::; 28898184e3Ssthen*foo:: = *bar::; 29898184e3Ssthenis select, $handle, 30898184e3Ssthen 'select returns ref for glob whose stash has been detached'; 31898184e3Ssthen 32898184e3Ssthenopen thwat::snin, "test.pl" or die "$0 is unable to open test.pl: $!"; 33898184e3Ssthenselect thwat::snin; 34898184e3Ssthen$handle = \*thwat::snin; 35898184e3Ssthen*thwat:: = *snin::; # gv is now *__ANON__::snin 36898184e3Ssthenis select, $handle, 37898184e3Ssthen 'select returns ref for glob with no stash pointer'; 38