File: select.t

package info (click to toggle)
perl 5.20.2-3%2Bdeb8u11
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 102,964 kB
  • sloc: perl: 555,553; ansic: 214,041; sh: 38,121; pascal: 8,783; cpp: 3,895; makefile: 2,393; xml: 2,325; yacc: 1,741
file content (34 lines) | stat: -rw-r--r-- 1,057 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!./perl

BEGIN {
    chdir 't';
    require './test.pl';
}

plan reverse 9;


open my $fh, "test.pl" or die "$0 unfortunately cannot open test.pl: $!";

is select, 'main::STDOUT', 'select retval';
is select($fh), 'main::STDOUT', 'select retval when called with argument';
ok ref select, 'select returns ref for glob generated by open';
is select, $fh, 'the ref returned references the right referent';
is select(STDOUT), $fh, 'select previous ref when setting to bareword';
is select, 'main::STDOUT', 'switching back to STDOUT';
is ref\select, 'SCALAR', 'and STDOUT is a plain string';

open foo::bar, "test.pl" or die "$0 sadly cannot open test.pl: $!";
select foo::bar;
$handle = \*foo::bar;
$stash = \%foo::;
*foo:: = *bar::;
is select, $handle,
    'select returns ref for glob whose stash has been detached';

open thwat::snin, "test.pl" or die "$0 is unable to open test.pl: $!";
select thwat::snin;
$handle = \*thwat::snin;
*thwat:: = *snin::; # gv is now *__ANON__::snin
is select, $handle,
    'select returns ref for glob with no stash pointer';