This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to PodParser 1.23; but do not update
[perl5.git] / lib / Text / Abbrev.t
CommitLineData
1ab872da 1#!./perl
2
df26a7db 3print "1..8\n";
1ab872da 4
5BEGIN {
6 chdir 't' if -d 't';
20822f61 7 @INC = '../lib';
1ab872da 8}
9
10use Text::Abbrev;
11
12print "ok 1\n";
13
14# old style as reference
15local(%x);
16my @z = qw(list edit send abort gripe listen);
17abbrev(*x, @z);
18my $r = join ':', sort keys %x;
19print "not " if exists $x{'l'} ||
20 exists $x{'li'} ||
21 exists $x{'lis'};
22print "ok 2\n";
23
24print "not " unless $x{'list'} eq 'list' &&
25 $x{'liste'} eq 'listen' &&
26 $x{'listen'} eq 'listen';
27print "ok 3\n";
28
29print "not " unless $x{'a'} eq 'abort' &&
30 $x{'ab'} eq 'abort' &&
31 $x{'abo'} eq 'abort' &&
32 $x{'abor'} eq 'abort' &&
33 $x{'abort'} eq 'abort';
34print "ok 4\n";
35
36my $test = 5;
37
38# wantarray
39my %y = abbrev @z;
40my $s = join ':', sort keys %y;
41print (($r eq $s)?"ok $test\n":"not ok $test\n"); $test++;
42
43my $y = abbrev @z;
44$s = join ':', sort keys %$y;
45print (($r eq $s)?"ok $test\n":"not ok $test\n"); $test++;
46
47%y = ();
48abbrev \%y, @z;
49
50$s = join ':', sort keys %y;
51print (($r eq $s)?"ok $test\n":"not ok $test\n"); $test++;
df26a7db
PS
52
53
54# warnings safe with zero arguments
55my $notok;
56$^W = 1;
57$SIG{__WARN__} = sub { $notok++ };
58abbrev();
59print ($notok ? "not ok $test\n" : "ok $test\n"); $test++;