This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
996251e43b08bd4c584cbf7df7b1234bf9f3bdee
[perl5.git] / dist / Search-Dict / t / Dict.t
1 #!./perl
2
3 print "1..4\n";
4
5 $DICT = <<EOT;
6 Aarhus
7 Aaron
8 Ababa
9 aback
10 abaft
11 abandon
12 abandoned
13 abandoning
14 abandonment
15 abandons
16 abase
17 abased
18 abasement
19 abasements
20 abases
21 abash
22 abashed
23 abashes
24 abashing
25 abasing
26 abate
27 abated
28 abatement
29 abatements
30 abater
31 abates
32 abating
33 Abba
34 EOT
35
36 use Search::Dict;
37
38 open(DICT, "+>dict-$$") or die "Can't create dict-$$: $!";
39 binmode DICT;                   # To make length expected one.
40 print DICT $DICT;
41
42 my $pos = look *DICT, "Ababa";
43 chomp($word = <DICT>);
44 print "not " if $pos < 0 || $word ne "Ababa";
45 print "ok 1\n";
46
47 if (ord('a') > ord('A') ) {  # ASCII
48
49     $pos = look *DICT, "foo";
50     chomp($word = <DICT>);
51
52     print "not " if $pos != length($DICT);  # will search to end of file
53     print "ok 2\n";
54
55     my $pos = look *DICT, "abash";
56     chomp($word = <DICT>);
57     print "not " if $pos < 0 || $word ne "abash";
58     print "ok 3\n";
59
60 }
61 else { # EBCDIC systems e.g. os390
62
63     $pos = look *DICT, "FOO";
64     chomp($word = <DICT>);
65
66     print "not " if $pos != length($DICT);  # will search to end of file
67     print "ok 2\n";
68
69     my $pos = look *DICT, "Abba";
70     chomp($word = <DICT>);
71     print "not " if $pos < 0 || $word ne "Abba";
72     print "ok 3\n";
73 }
74
75 $pos = look *DICT, "aarhus", 1, 1;
76 chomp($word = <DICT>);
77
78 print "not " if $pos < 0 || $word ne "Aarhus";
79 print "ok 4\n";
80
81 close DICT or die "cannot close";
82 unlink "dict-$$";