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