r7899@merlin: jquelin | 2007-11-26 13:48:50 +0100
[acme-tie-eleet.git] / t / 14-spacer.t
blob46ca139d8b8a561f1ca39ab3a99c539e828b357d
1 #!perl
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 # Spacer.
15 #-----------------------------------#
16 #          Initialization.          #
17 #-----------------------------------#
19 # Modules we rely on.
20 use Test;
21 # use POSIX qw(tmpnam);
23 # Initialization.
24 # BEGIN { plan tests => 16 };
25 BEGIN { plan tests => 8 };
27 # Our stuff.
28 require Acme::Tie::Eleet;
29 # untie *STDIN;
30 # untie *STDOUT;
31 # untie *STDERR;
33 # Vars.
34 # my $file = tmpnam();
35 my $line;
36 my @opts =
37     ( letters    => 0,
38       spacer     => 0,
39       case_mixer => 0,
40       words      => 0,
41       add_before => 0,
42       add_after  => 0,
43       extra_sent => 0
47 #------------------------------#
48 #          TIEHANDLE.          #
49 #------------------------------#
51 # # Wrong spacer (pattern non numeric).
52 # eval {
53 #     open OUT, ">$file" or die "Unable to create temporary file: $!";
54 #     tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"aa";
55 # };
56 # ok($@, qr/^spacer: wrong pattern /);
58 # # Random: no spacing (0).
59 # open OUT, ">$file" or die "Unable to create temporary file: $!";
60 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>0;
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: spacing (75).
68 # open OUT, ">$file" or die "Unable to create temporary file: $!";
69 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>75;
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 # # Random: max spacing (100).
77 # open OUT, ">$file" or die "Unable to create temporary file: $!";
78 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>100;
79 # print OUT "eleet";
80 # untie *OUT;
81 # open IN, "<$file" or die "Unable to open temporary file: $!";
82 # $line = <IN>;
83 # ok($line, qr/^e l e e t /);
85 # # Pattern: illegal pattern (0/0).
86 # eval {
87 #     open OUT, ">$file" or die "Unable to create temporary file: $!";
88 #     tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"0/0";
89 # };
90 # ok($@, qr!^spacer: illegal pattern 0/0!);
92 # # Pattern: no spacing (0/1).
93 # open OUT, ">$file" or die "Unable to create temporary file: $!";
94 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"0/1";
95 # print OUT "eleet";
96 # untie *OUT;
97 # open IN, "<$file" or die "Unable to open temporary file: $!";
98 # $line = <IN>;
99 # ok($line, qr/^eleet/);
101 # # Pattern: one on two (1/1).
102 # open OUT, ">$file" or die "Unable to create temporary file: $!";
103 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"1/1";
104 # print OUT "eleeteleet";
105 # untie *OUT;
106 # open IN, "<$file" or die "Unable to open temporary file: $!";
107 # $line = <IN>;
108 # ok($line, qr/^e le et el ee t/);
110 # # Pattern: max spacing (1/0).
111 # open OUT, ">$file" or die "Unable to create temporary file: $!";
112 # tie *OUT, 'Acme::Tie::Eleet', *OUT, @opts, spacer=>"1/0";
113 # print OUT "eleet";
114 # untie *OUT;
115 # open IN, "<$file" or die "Unable to open temporary file: $!";
116 # $line = <IN>;
117 # ok($line, qr/^e l e e t /);
119 # unlink $file;
122 #------------------------------#
123 #          TIESCALAR.          #
124 #------------------------------#
126 # Wrong spacer (pattern non numeric).
127 eval {
128     tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"aa";
130 ok($@, qr/^spacer: wrong pattern /);
131 untie $line;
133 # Random: no spacing (0).
134 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>0;
135 $line = "eleet";
136 ok($line, qr/^e ?l ?e ?e ?t ?/);
137 untie $line;
139 # Random: spacing (75).
140 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>75;
141 $line = "eleet";
142 ok($line, qr/^e ?l ?e ?e ?t ?/);
143 untie $line;
145 # Random: max spacing (100).
146 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>100;
147 $line = "eleet";
148 ok($line, qr/^e l e e t /);
149 untie $line;
151 # Pattern: illegal pattern (0/0).
152 eval {
153     tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"0/0";
155 ok($@, qr!^spacer: illegal pattern 0/0!);
156 untie $line;
158 # Pattern: no spacing (0/1).
159 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"0/1";
160 $line = "eleet";
161 ok($line, qr/^eleet/);
162 untie $line;
164 # Pattern: one on two (1/1).
165 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"1/1";
166 $line = "eleeteleet";
167 ok($line, qr/^e le et el ee t/);
168 untie $line;
170 # Pattern: max spacing (1/0).
171 tie $line, 'Acme::Tie::Eleet', @opts, spacer=>"1/0";
172 $line = "eleet";
173 ok($line, qr/^e l e e t /);
174 untie $line;