source: trunk/essentials/dev-lang/perl/ext/re/t/re.t@ 3188

Last change on this file since 3188 was 3181, checked in by bird, 19 years ago

perl 5.8.8

File size: 1.7 KB
Line 
1#!./perl
2
3BEGIN {
4 chdir 't' if -d 't';
5 @INC = '../lib';
6 require Config;
7 if (($Config::Config{'extensions'} !~ /\bre\b/) ){
8 print "1..0 # Skip -- Perl configured without re module\n";
9 exit 0;
10 }
11}
12
13use strict;
14
15use Test::More tests => 13;
16require_ok( 're' );
17
18# setcolor
19$INC{ 'Term/Cap.pm' } = 1;
20local $ENV{PERL_RE_TC};
21re::setcolor();
22is( $ENV{PERL_RE_COLORS}, "md\tme\tso\tse\tus\tue",
23 'setcolor() should provide default colors' );
24$ENV{PERL_RE_TC} = 'su,n,ny';
25re::setcolor();
26is( $ENV{PERL_RE_COLORS}, "su\tn\tny", '... or use $ENV{PERL_RE_COLORS}' );
27
28# bits
29# get on
30my $warn;
31local $SIG{__WARN__} = sub {
32 $warn = shift;
33};
34eval { re::bits(1) };
35like( $warn, qr/Useless use/, 'bits() should warn with no args' );
36
37delete $ENV{PERL_RE_COLORS};
38re::bits(0, 'debug');
39is( $ENV{PERL_RE_COLORS}, undef,
40 "... should not set regex colors given 'debug'" );
41re::bits(0, 'debugcolor');
42isnt( $ENV{PERL_RE_COLORS}, '',
43 "... should set regex colors given 'debugcolor'" );
44re::bits(0, 'nosuchsubpragma');
45like( $warn, qr/Unknown "re" subpragma/,
46 '... should warn about unknown subpragma' );
47ok( re::bits(0, 'taint') & 0x00100000, '... should set taint bits' );
48ok( re::bits(0, 'eval') & 0x00200000, '... should set eval bits' );
49
50local $^H;
51
52# import
53re->import('taint', 'eval');
54ok( $^H & 0x00100000, 'import should set taint bits in $^H when requested' );
55ok( $^H & 0x00200000, 'import should set eval bits in $^H when requested' );
56
57re->unimport('taint');
58ok( !( $^H & 0x00100000 ), 'unimport should clear bits in $^H when requested' );
59re->unimport('eval');
60ok( !( $^H & 0x00200000 ), '... and again' );
61
62package Term::Cap;
63
64sub Tgetent {
65 bless({}, $_[0]);
66}
67
68sub Tputs {
69 return $_[1];
70}
Note: See TracBrowser for help on using the repository browser.