r4985@merlin: jquelin | 2007-05-24 15:08:25 +0200
[acme-tie-eleet.git] / t / 14-spacer.t
blob2d00bb65376bb7aae59c75a2cb44e1b45a8e7cfc
1 #-*-perl-*-
3 # Spacer.
6 #-----------------------------------#
7 #          Initialization.          #
8 #-----------------------------------#
10 # Modules we rely on.
11 use Test;
12 # use POSIX qw(tmpnam);
14 # Initialization.
15 # BEGIN { plan tests => 16 };
16 BEGIN { plan tests => 8 };
18 # Our stuff.
19 require Acme::Tie::Eleet;
20 # untie *STDIN;
21 # untie *STDOUT;
22 # untie *STDERR;
24 # Vars.
25 # my $file = tmpnam();
26 my $line;
27 my @opts =
28     ( letters    => 0,
29       spacer     => 0,
30       case_mixer => 0,
31       words      => 0,
32       add_before => 0,
33       add_after  => 0,
34       extra_sent => 0
38 #------------------------------#
39 #          TIEHANDLE.          #
40 #------------------------------#
42 # # Wrong spacer (pattern non numeric).
43 # eval {
44 #     open OUT, ">$file" or die "Unable to create temporary file: $!";
45 #     tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"aa";
46 # };
47 # ok($@, qr/^spacer: wrong pattern /);
49 # # Random: no spacing (0).
50 # open OUT, ">$file" or die "Unable to create temporary file: $!";
51 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>0;
52 # print OUT "eleet";
53 # untie *OUT;
54 # open IN, "<$file" or die "Unable to open temporary file: $!";
55 # $line = <IN>;
56 # ok($line, qr/^e ?l ?e ?e ?t ?/);
58 # # Random: spacing (75).
59 # open OUT, ">$file" or die "Unable to create temporary file: $!";
60 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>75;
61 # print OUT "eleet";
62 # untie *OUT;
63 # open IN, "<$file" or die "Unable to open temporary file: $!";
64 # $line = <IN>;
65 # ok($line, qr/^e ?l ?e ?e ?t ?/);
67 # # Random: max spacing (100).
68 # open OUT, ">$file" or die "Unable to create temporary file: $!";
69 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>100;
70 # print OUT "eleet";
71 # untie *OUT;
72 # open IN, "<$file" or die "Unable to open temporary file: $!";
73 # $line = <IN>;
74 # ok($line, qr/^e l e e t /);
76 # # Pattern: illegal pattern (0/0).
77 # eval {
78 #     open OUT, ">$file" or die "Unable to create temporary file: $!";
79 #     tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"0/0";
80 # };
81 # ok($@, qr!^spacer: illegal pattern 0/0!);
83 # # Pattern: no spacing (0/1).
84 # open OUT, ">$file" or die "Unable to create temporary file: $!";
85 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"0/1";
86 # print OUT "eleet";
87 # untie *OUT;
88 # open IN, "<$file" or die "Unable to open temporary file: $!";
89 # $line = <IN>;
90 # ok($line, qr/^eleet/);
92 # # Pattern: one on two (1/1).
93 # open OUT, ">$file" or die "Unable to create temporary file: $!";
94 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"1/1";
95 # print OUT "eleeteleet";
96 # untie *OUT;
97 # open IN, "<$file" or die "Unable to open temporary file: $!";
98 # $line = <IN>;
99 # ok($line, qr/^e le et el ee t/);
101 # # Pattern: max spacing (1/0).
102 # open OUT, ">$file" or die "Unable to create temporary file: $!";
103 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"1/0";
104 # print OUT "eleet";
105 # untie *OUT;
106 # open IN, "<$file" or die "Unable to open temporary file: $!";
107 # $line = <IN>;
108 # ok($line, qr/^e l e e t /);
110 # unlink $file;
113 #------------------------------#
114 #          TIESCALAR.          #
115 #------------------------------#
117 # Wrong spacer (pattern non numeric).
118 eval {
119     tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"aa";
121 ok($@, qr/^spacer: wrong pattern /);
122 untie $line;
124 # Random: no spacing (0).
125 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>0;
126 $line = "eleet";
127 ok($line, qr/^e ?l ?e ?e ?t ?/);
128 untie $line;
130 # Random: spacing (75).
131 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>75;
132 $line = "eleet";
133 ok($line, qr/^e ?l ?e ?e ?t ?/);
134 untie $line;
136 # Random: max spacing (100).
137 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>100;
138 $line = "eleet";
139 ok($line, qr/^e l e e t /);
140 untie $line;
142 # Pattern: illegal pattern (0/0).
143 eval {
144     tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"0/0";
146 ok($@, qr!^spacer: illegal pattern 0/0!);
147 untie $line;
149 # Pattern: no spacing (0/1).
150 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"0/1";
151 $line = "eleet";
152 ok($line, qr/^eleet/);
153 untie $line;
155 # Pattern: one on two (1/1).
156 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"1/1";
157 $line = "eleeteleet";
158 ok($line, qr/^e le et el ee t/);
159 untie $line;
161 # Pattern: max spacing (1/0).
162 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"1/0";
163 $line = "eleet";
164 ok($line, qr/^e l e e t /);
165 untie $line;