3 # This file is part of Acme::Tie::Eleet.
4 # Copyright (c) 2001-2007 Jerome Quelin, all rights reserved.
6 # This program is free software; you can redistribute it and/or modify
7 # it under the same terms as Perl itself.
12 # Case mixer test suite.
15 #-----------------------------------#
17 #-----------------------------------#
21 # use POSIX qw(tmpnam);
24 # BEGIN { plan tests => 16 };
25 BEGIN { plan tests => 8 };
28 require Acme::Tie::Eleet;
34 # my $file = tmpnam();
47 #------------------------------#
49 #------------------------------#
51 # # Wrong case_mixer (pattern non numeric).
53 # open OUT, ">$file" or die "Unable to create temporary file: $!";
54 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"aa";
56 # ok($@, qr/^case_mixer: wrong pattern /);
58 # # Random: no case mixing (0).
59 # open OUT, ">$file" or die "Unable to create temporary file: $!";
60 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>0;
63 # open IN, "<$file" or die "Unable to open temporary file: $!";
65 # ok($line, qr/^eleet/);
67 # # Random: case mixing (75).
68 # open OUT, ">$file" or die "Unable to create temporary file: $!";
69 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>75;
72 # open IN, "<$file" or die "Unable to open temporary file: $!";
74 # ok($line, qr/^[eE][lL][eE][eE][tT]/);
76 # # Random: max case mixing (100).
77 # open OUT, ">$file" or die "Unable to create temporary file: $!";
78 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>100;
81 # open IN, "<$file" or die "Unable to open temporary file: $!";
83 # ok($line, qr/^ELEET/);
85 # # Pattern: illegal pattern (0/0).
87 # open OUT, ">$file" or die "Unable to create temporary file: $!";
88 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"0/0";
89 # print OUT "eleeteleet";
91 # open IN, "<$file" or die "Unable to open temporary file: $!";
95 # ok($@, qr!^case_mixer: illegal pattern 0/0!);
97 # # Pattern: no case mixing (0/1).
98 # open OUT, ">$file" or die "Unable to create temporary file: $!";
99 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"0/1";
102 # open IN, "<$file" or die "Unable to open temporary file: $!";
104 # ok($line, qr/^eleet/);
106 # # Pattern: one on two (1/2).
107 # open OUT, ">$file" or die "Unable to create temporary file: $!";
108 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"1/1";
109 # print OUT "eleeteleet";
111 # open IN, "<$file" or die "Unable to open temporary file: $!";
113 # ok($line, qr/^ElEeT/);
115 # # Pattern: max case mixing (1/0).
116 # open OUT, ">$file" or die "Unable to create temporary file: $!";
117 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"1/0";
120 # open IN, "<$file" or die "Unable to open temporary file: $!";
122 # ok($line, qr/^ELEET/);
127 #------------------------------#
129 #------------------------------#
131 # Wrong case_mixer (pattern non numeric).
133 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"aa";
135 ok($@, qr/^case_mixer: wrong pattern /);
137 # Random: no case mixing (0).
138 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>0;
140 ok($line, qr/^eleet/);
143 # Random: case mixing (75).
144 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>75;
146 ok($line, qr/^[eE][lL][eE][eE][tT]/);
149 # Random: max case mixing (100).
150 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>100;
152 ok($line, qr/^ELEET/);
155 # Pattern: illegal pattern (0/0).
157 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"0/0";
160 ok($@, qr!^case_mixer: illegal pattern 0/0!);
163 # Pattern: no case mixing (0/1).
164 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"0/1";
166 ok($line, qr/^eleet/);
169 # Pattern: one on two (1/2).
170 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"1/1";
172 ok($line, qr/^ElEeT/);
175 # Pattern: max case mixing (1/0).
176 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"1/0";
178 ok($line, qr/^ELEET/);