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