3 # Case mixer test suite.
6 #-----------------------------------#
8 #-----------------------------------#
12 # use POSIX qw(tmpnam);
15 # BEGIN { plan tests => 16 };
16 BEGIN { plan tests => 8 };
19 require Acme::Tie::Eleet;
25 # my $file = tmpnam();
38 #------------------------------#
40 #------------------------------#
42 # # Wrong case_mixer (pattern non numeric).
44 # open OUT, ">$file" or die "Unable to create temporary file: $!";
45 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"aa";
47 # ok($@, qr/^case_mixer: wrong pattern /);
49 # # Random: no case mixing (0).
50 # open OUT, ">$file" or die "Unable to create temporary file: $!";
51 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>0;
54 # open IN, "<$file" or die "Unable to open temporary file: $!";
56 # ok($line, qr/^eleet/);
58 # # Random: case mixing (75).
59 # open OUT, ">$file" or die "Unable to create temporary file: $!";
60 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>75;
63 # open IN, "<$file" or die "Unable to open temporary file: $!";
65 # ok($line, qr/^[eE][lL][eE][eE][tT]/);
67 # # Random: max case mixing (100).
68 # open OUT, ">$file" or die "Unable to create temporary file: $!";
69 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>100;
72 # open IN, "<$file" or die "Unable to open temporary file: $!";
74 # ok($line, qr/^ELEET/);
76 # # Pattern: illegal pattern (0/0).
78 # open OUT, ">$file" or die "Unable to create temporary file: $!";
79 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"0/0";
80 # print OUT "eleeteleet";
82 # open IN, "<$file" or die "Unable to open temporary file: $!";
86 # ok($@, qr!^case_mixer: illegal pattern 0/0!);
88 # # Pattern: no case mixing (0/1).
89 # open OUT, ">$file" or die "Unable to create temporary file: $!";
90 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"0/1";
93 # open IN, "<$file" or die "Unable to open temporary file: $!";
95 # ok($line, qr/^eleet/);
97 # # Pattern: one on two (1/2).
98 # open OUT, ">$file" or die "Unable to create temporary file: $!";
99 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"1/1";
100 # print OUT "eleeteleet";
102 # open IN, "<$file" or die "Unable to open temporary file: $!";
104 # ok($line, qr/^ElEeT/);
106 # # Pattern: max case mixing (1/0).
107 # open OUT, ">$file" or die "Unable to create temporary file: $!";
108 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, case_mixer=>"1/0";
111 # open IN, "<$file" or die "Unable to open temporary file: $!";
113 # ok($line, qr/^ELEET/);
118 #------------------------------#
120 #------------------------------#
122 # Wrong case_mixer (pattern non numeric).
124 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"aa";
126 ok($@, qr/^case_mixer: wrong pattern /);
128 # Random: no case mixing (0).
129 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>0;
131 ok($line, qr/^eleet/);
134 # Random: case mixing (75).
135 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>75;
137 ok($line, qr/^[eE][lL][eE][eE][tT]/);
140 # Random: max case mixing (100).
141 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>100;
143 ok($line, qr/^ELEET/);
146 # Pattern: illegal pattern (0/0).
148 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"0/0";
151 ok($@, qr!^case_mixer: illegal pattern 0/0!);
154 # Pattern: no case mixing (0/1).
155 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"0/1";
157 ok($line, qr/^eleet/);
160 # Pattern: one on two (1/2).
161 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"1/1";
163 ok($line, qr/^ElEeT/);
166 # Pattern: max case mixing (1/0).
167 tie $line, 'Acme::Tie::Eleet', @opts, case_mixer=>"1/0";
169 ok($line, qr/^ELEET/);