1*0a6a1f1dSLionel Sambuc //
2*0a6a1f1dSLionel Sambuc // Automated Testing Framework (atf)
3*0a6a1f1dSLionel Sambuc //
4*0a6a1f1dSLionel Sambuc // Copyright (c) 2009 The NetBSD Foundation, Inc.
5*0a6a1f1dSLionel Sambuc // All rights reserved.
6*0a6a1f1dSLionel Sambuc //
7*0a6a1f1dSLionel Sambuc // Redistribution and use in source and binary forms, with or without
8*0a6a1f1dSLionel Sambuc // modification, are permitted provided that the following conditions
9*0a6a1f1dSLionel Sambuc // are met:
10*0a6a1f1dSLionel Sambuc // 1. Redistributions of source code must retain the above copyright
11*0a6a1f1dSLionel Sambuc // notice, this list of conditions and the following disclaimer.
12*0a6a1f1dSLionel Sambuc // 2. Redistributions in binary form must reproduce the above copyright
13*0a6a1f1dSLionel Sambuc // notice, this list of conditions and the following disclaimer in the
14*0a6a1f1dSLionel Sambuc // documentation and/or other materials provided with the distribution.
15*0a6a1f1dSLionel Sambuc //
16*0a6a1f1dSLionel Sambuc // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
17*0a6a1f1dSLionel Sambuc // CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
18*0a6a1f1dSLionel Sambuc // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19*0a6a1f1dSLionel Sambuc // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20*0a6a1f1dSLionel Sambuc // IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
21*0a6a1f1dSLionel Sambuc // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22*0a6a1f1dSLionel Sambuc // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
23*0a6a1f1dSLionel Sambuc // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24*0a6a1f1dSLionel Sambuc // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25*0a6a1f1dSLionel Sambuc // IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26*0a6a1f1dSLionel Sambuc // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27*0a6a1f1dSLionel Sambuc // IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*0a6a1f1dSLionel Sambuc //
29*0a6a1f1dSLionel Sambuc
30*0a6a1f1dSLionel Sambuc #include <cstring>
31*0a6a1f1dSLionel Sambuc #include <iostream>
32*0a6a1f1dSLionel Sambuc
33*0a6a1f1dSLionel Sambuc #include <atf-c++.hpp>
34*0a6a1f1dSLionel Sambuc
35*0a6a1f1dSLionel Sambuc #include "env.hpp"
36*0a6a1f1dSLionel Sambuc #include "ui.hpp"
37*0a6a1f1dSLionel Sambuc
38*0a6a1f1dSLionel Sambuc // ------------------------------------------------------------------------
39*0a6a1f1dSLionel Sambuc // Test cases for the free functions.
40*0a6a1f1dSLionel Sambuc // ------------------------------------------------------------------------
41*0a6a1f1dSLionel Sambuc
42*0a6a1f1dSLionel Sambuc struct test {
43*0a6a1f1dSLionel Sambuc const char *tc;
44*0a6a1f1dSLionel Sambuc const char *tag;
45*0a6a1f1dSLionel Sambuc bool repeat;
46*0a6a1f1dSLionel Sambuc size_t col;
47*0a6a1f1dSLionel Sambuc const char *fmt;
48*0a6a1f1dSLionel Sambuc const char *result;
49*0a6a1f1dSLionel Sambuc } tests[] = {
50*0a6a1f1dSLionel Sambuc //
51*0a6a1f1dSLionel Sambuc // wo_tag
52*0a6a1f1dSLionel Sambuc //
53*0a6a1f1dSLionel Sambuc
54*0a6a1f1dSLionel Sambuc {
55*0a6a1f1dSLionel Sambuc "wo_tag",
56*0a6a1f1dSLionel Sambuc "",
57*0a6a1f1dSLionel Sambuc false,
58*0a6a1f1dSLionel Sambuc 0,
59*0a6a1f1dSLionel Sambuc "12345",
60*0a6a1f1dSLionel Sambuc "12345",
61*0a6a1f1dSLionel Sambuc },
62*0a6a1f1dSLionel Sambuc
63*0a6a1f1dSLionel Sambuc {
64*0a6a1f1dSLionel Sambuc "wo_tag",
65*0a6a1f1dSLionel Sambuc "",
66*0a6a1f1dSLionel Sambuc false,
67*0a6a1f1dSLionel Sambuc 0,
68*0a6a1f1dSLionel Sambuc "12345 ",
69*0a6a1f1dSLionel Sambuc "12345",
70*0a6a1f1dSLionel Sambuc },
71*0a6a1f1dSLionel Sambuc
72*0a6a1f1dSLionel Sambuc {
73*0a6a1f1dSLionel Sambuc "wo_tag",
74*0a6a1f1dSLionel Sambuc "",
75*0a6a1f1dSLionel Sambuc false,
76*0a6a1f1dSLionel Sambuc 0,
77*0a6a1f1dSLionel Sambuc "12345 7890",
78*0a6a1f1dSLionel Sambuc "12345 7890",
79*0a6a1f1dSLionel Sambuc },
80*0a6a1f1dSLionel Sambuc
81*0a6a1f1dSLionel Sambuc {
82*0a6a1f1dSLionel Sambuc "wo_tag",
83*0a6a1f1dSLionel Sambuc "",
84*0a6a1f1dSLionel Sambuc false,
85*0a6a1f1dSLionel Sambuc 0,
86*0a6a1f1dSLionel Sambuc "12345 789012 45",
87*0a6a1f1dSLionel Sambuc "12345 789012 45",
88*0a6a1f1dSLionel Sambuc },
89*0a6a1f1dSLionel Sambuc
90*0a6a1f1dSLionel Sambuc {
91*0a6a1f1dSLionel Sambuc "wo_tag",
92*0a6a1f1dSLionel Sambuc "",
93*0a6a1f1dSLionel Sambuc false,
94*0a6a1f1dSLionel Sambuc 0,
95*0a6a1f1dSLionel Sambuc "12345 789012 456",
96*0a6a1f1dSLionel Sambuc "12345 789012\n456",
97*0a6a1f1dSLionel Sambuc },
98*0a6a1f1dSLionel Sambuc
99*0a6a1f1dSLionel Sambuc {
100*0a6a1f1dSLionel Sambuc "wo_tag",
101*0a6a1f1dSLionel Sambuc "",
102*0a6a1f1dSLionel Sambuc false,
103*0a6a1f1dSLionel Sambuc 0,
104*0a6a1f1dSLionel Sambuc "1234567890123456",
105*0a6a1f1dSLionel Sambuc "1234567890123456",
106*0a6a1f1dSLionel Sambuc },
107*0a6a1f1dSLionel Sambuc
108*0a6a1f1dSLionel Sambuc // TODO(jmmv): Fix the code to pass this test...
109*0a6a1f1dSLionel Sambuc // {
110*0a6a1f1dSLionel Sambuc // "wo_tag",
111*0a6a1f1dSLionel Sambuc // "",
112*0a6a1f1dSLionel Sambuc // false,
113*0a6a1f1dSLionel Sambuc // 0,
114*0a6a1f1dSLionel Sambuc // " 2345678901234567",
115*0a6a1f1dSLionel Sambuc // "\n2345678901234567",
116*0a6a1f1dSLionel Sambuc // },
117*0a6a1f1dSLionel Sambuc
118*0a6a1f1dSLionel Sambuc {
119*0a6a1f1dSLionel Sambuc "wo_tag",
120*0a6a1f1dSLionel Sambuc "",
121*0a6a1f1dSLionel Sambuc false,
122*0a6a1f1dSLionel Sambuc 0,
123*0a6a1f1dSLionel Sambuc "12345 789012345 78",
124*0a6a1f1dSLionel Sambuc "12345 789012345\n78",
125*0a6a1f1dSLionel Sambuc },
126*0a6a1f1dSLionel Sambuc
127*0a6a1f1dSLionel Sambuc //
128*0a6a1f1dSLionel Sambuc // wo_tag_col
129*0a6a1f1dSLionel Sambuc //
130*0a6a1f1dSLionel Sambuc
131*0a6a1f1dSLionel Sambuc {
132*0a6a1f1dSLionel Sambuc "wo_tag_col",
133*0a6a1f1dSLionel Sambuc "",
134*0a6a1f1dSLionel Sambuc false,
135*0a6a1f1dSLionel Sambuc 10,
136*0a6a1f1dSLionel Sambuc "12345",
137*0a6a1f1dSLionel Sambuc " 12345",
138*0a6a1f1dSLionel Sambuc },
139*0a6a1f1dSLionel Sambuc
140*0a6a1f1dSLionel Sambuc {
141*0a6a1f1dSLionel Sambuc "wo_tag_col",
142*0a6a1f1dSLionel Sambuc "",
143*0a6a1f1dSLionel Sambuc false,
144*0a6a1f1dSLionel Sambuc 10,
145*0a6a1f1dSLionel Sambuc "12345 7890",
146*0a6a1f1dSLionel Sambuc " 12345\n"
147*0a6a1f1dSLionel Sambuc " 7890",
148*0a6a1f1dSLionel Sambuc },
149*0a6a1f1dSLionel Sambuc
150*0a6a1f1dSLionel Sambuc {
151*0a6a1f1dSLionel Sambuc "wo_tag_col",
152*0a6a1f1dSLionel Sambuc "",
153*0a6a1f1dSLionel Sambuc false,
154*0a6a1f1dSLionel Sambuc 10,
155*0a6a1f1dSLionel Sambuc "1 3 5 7 9",
156*0a6a1f1dSLionel Sambuc " 1 3 5\n"
157*0a6a1f1dSLionel Sambuc " 7 9",
158*0a6a1f1dSLionel Sambuc },
159*0a6a1f1dSLionel Sambuc
160*0a6a1f1dSLionel Sambuc //
161*0a6a1f1dSLionel Sambuc // w_tag_no_repeat
162*0a6a1f1dSLionel Sambuc //
163*0a6a1f1dSLionel Sambuc
164*0a6a1f1dSLionel Sambuc {
165*0a6a1f1dSLionel Sambuc "w_tag_no_repeat",
166*0a6a1f1dSLionel Sambuc "1234: ",
167*0a6a1f1dSLionel Sambuc false,
168*0a6a1f1dSLionel Sambuc 0,
169*0a6a1f1dSLionel Sambuc "789012345",
170*0a6a1f1dSLionel Sambuc "1234: 789012345",
171*0a6a1f1dSLionel Sambuc },
172*0a6a1f1dSLionel Sambuc
173*0a6a1f1dSLionel Sambuc {
174*0a6a1f1dSLionel Sambuc "w_tag_no_repeat",
175*0a6a1f1dSLionel Sambuc "1234: ",
176*0a6a1f1dSLionel Sambuc false,
177*0a6a1f1dSLionel Sambuc 0,
178*0a6a1f1dSLionel Sambuc "789 1234 56789",
179*0a6a1f1dSLionel Sambuc "1234: 789 1234\n"
180*0a6a1f1dSLionel Sambuc " 56789",
181*0a6a1f1dSLionel Sambuc },
182*0a6a1f1dSLionel Sambuc
183*0a6a1f1dSLionel Sambuc {
184*0a6a1f1dSLionel Sambuc "w_tag_no_repeat",
185*0a6a1f1dSLionel Sambuc "1234: ",
186*0a6a1f1dSLionel Sambuc false,
187*0a6a1f1dSLionel Sambuc 0,
188*0a6a1f1dSLionel Sambuc "789012345",
189*0a6a1f1dSLionel Sambuc "1234: 789012345",
190*0a6a1f1dSLionel Sambuc },
191*0a6a1f1dSLionel Sambuc
192*0a6a1f1dSLionel Sambuc {
193*0a6a1f1dSLionel Sambuc "w_tag_no_repeat",
194*0a6a1f1dSLionel Sambuc "1234: ",
195*0a6a1f1dSLionel Sambuc false,
196*0a6a1f1dSLionel Sambuc 0,
197*0a6a1f1dSLionel Sambuc "789012345 7890",
198*0a6a1f1dSLionel Sambuc "1234: 789012345\n"
199*0a6a1f1dSLionel Sambuc " 7890",
200*0a6a1f1dSLionel Sambuc },
201*0a6a1f1dSLionel Sambuc
202*0a6a1f1dSLionel Sambuc //
203*0a6a1f1dSLionel Sambuc // w_tag_repeat
204*0a6a1f1dSLionel Sambuc //
205*0a6a1f1dSLionel Sambuc
206*0a6a1f1dSLionel Sambuc {
207*0a6a1f1dSLionel Sambuc "w_tag_repeat",
208*0a6a1f1dSLionel Sambuc "1234: ",
209*0a6a1f1dSLionel Sambuc true,
210*0a6a1f1dSLionel Sambuc 0,
211*0a6a1f1dSLionel Sambuc "789012345",
212*0a6a1f1dSLionel Sambuc "1234: 789012345",
213*0a6a1f1dSLionel Sambuc },
214*0a6a1f1dSLionel Sambuc
215*0a6a1f1dSLionel Sambuc {
216*0a6a1f1dSLionel Sambuc "w_tag_repeat",
217*0a6a1f1dSLionel Sambuc "1234: ",
218*0a6a1f1dSLionel Sambuc true,
219*0a6a1f1dSLionel Sambuc 0,
220*0a6a1f1dSLionel Sambuc "789 1234 56789",
221*0a6a1f1dSLionel Sambuc "1234: 789 1234\n"
222*0a6a1f1dSLionel Sambuc "1234: 56789",
223*0a6a1f1dSLionel Sambuc },
224*0a6a1f1dSLionel Sambuc
225*0a6a1f1dSLionel Sambuc {
226*0a6a1f1dSLionel Sambuc "w_tag_repeat",
227*0a6a1f1dSLionel Sambuc "1234: ",
228*0a6a1f1dSLionel Sambuc true,
229*0a6a1f1dSLionel Sambuc 0,
230*0a6a1f1dSLionel Sambuc "789012345",
231*0a6a1f1dSLionel Sambuc "1234: 789012345",
232*0a6a1f1dSLionel Sambuc },
233*0a6a1f1dSLionel Sambuc
234*0a6a1f1dSLionel Sambuc {
235*0a6a1f1dSLionel Sambuc "w_tag_no_repeat",
236*0a6a1f1dSLionel Sambuc "1234: ",
237*0a6a1f1dSLionel Sambuc true,
238*0a6a1f1dSLionel Sambuc 0,
239*0a6a1f1dSLionel Sambuc "789012345 7890",
240*0a6a1f1dSLionel Sambuc "1234: 789012345\n"
241*0a6a1f1dSLionel Sambuc "1234: 7890",
242*0a6a1f1dSLionel Sambuc },
243*0a6a1f1dSLionel Sambuc
244*0a6a1f1dSLionel Sambuc //
245*0a6a1f1dSLionel Sambuc // w_tag_col
246*0a6a1f1dSLionel Sambuc //
247*0a6a1f1dSLionel Sambuc
248*0a6a1f1dSLionel Sambuc {
249*0a6a1f1dSLionel Sambuc "w_tag_col",
250*0a6a1f1dSLionel Sambuc "1234:",
251*0a6a1f1dSLionel Sambuc false,
252*0a6a1f1dSLionel Sambuc 10,
253*0a6a1f1dSLionel Sambuc "1 3 5",
254*0a6a1f1dSLionel Sambuc "1234: 1 3 5",
255*0a6a1f1dSLionel Sambuc },
256*0a6a1f1dSLionel Sambuc
257*0a6a1f1dSLionel Sambuc {
258*0a6a1f1dSLionel Sambuc "w_tag_col",
259*0a6a1f1dSLionel Sambuc "1234:",
260*0a6a1f1dSLionel Sambuc false,
261*0a6a1f1dSLionel Sambuc 10,
262*0a6a1f1dSLionel Sambuc "1 3 5 7 9",
263*0a6a1f1dSLionel Sambuc "1234: 1 3 5\n"
264*0a6a1f1dSLionel Sambuc " 7 9",
265*0a6a1f1dSLionel Sambuc },
266*0a6a1f1dSLionel Sambuc
267*0a6a1f1dSLionel Sambuc {
268*0a6a1f1dSLionel Sambuc "w_tag_col",
269*0a6a1f1dSLionel Sambuc "1234:",
270*0a6a1f1dSLionel Sambuc true,
271*0a6a1f1dSLionel Sambuc 10,
272*0a6a1f1dSLionel Sambuc "1 3 5 7 9",
273*0a6a1f1dSLionel Sambuc "1234: 1 3 5\n"
274*0a6a1f1dSLionel Sambuc "1234: 7 9",
275*0a6a1f1dSLionel Sambuc },
276*0a6a1f1dSLionel Sambuc
277*0a6a1f1dSLionel Sambuc //
278*0a6a1f1dSLionel Sambuc // paragraphs
279*0a6a1f1dSLionel Sambuc //
280*0a6a1f1dSLionel Sambuc
281*0a6a1f1dSLionel Sambuc {
282*0a6a1f1dSLionel Sambuc "paragraphs",
283*0a6a1f1dSLionel Sambuc "",
284*0a6a1f1dSLionel Sambuc false,
285*0a6a1f1dSLionel Sambuc 0,
286*0a6a1f1dSLionel Sambuc "1 3 5\n\n",
287*0a6a1f1dSLionel Sambuc "1 3 5"
288*0a6a1f1dSLionel Sambuc },
289*0a6a1f1dSLionel Sambuc
290*0a6a1f1dSLionel Sambuc {
291*0a6a1f1dSLionel Sambuc "paragraphs",
292*0a6a1f1dSLionel Sambuc "",
293*0a6a1f1dSLionel Sambuc false,
294*0a6a1f1dSLionel Sambuc 0,
295*0a6a1f1dSLionel Sambuc "1 3 5\n2 4 6",
296*0a6a1f1dSLionel Sambuc "1 3 5\n\n2 4 6"
297*0a6a1f1dSLionel Sambuc },
298*0a6a1f1dSLionel Sambuc
299*0a6a1f1dSLionel Sambuc {
300*0a6a1f1dSLionel Sambuc "paragraphs",
301*0a6a1f1dSLionel Sambuc "",
302*0a6a1f1dSLionel Sambuc false,
303*0a6a1f1dSLionel Sambuc 0,
304*0a6a1f1dSLionel Sambuc "1234 6789 123456\n2 4 6",
305*0a6a1f1dSLionel Sambuc "1234 6789\n123456\n\n2 4 6"
306*0a6a1f1dSLionel Sambuc },
307*0a6a1f1dSLionel Sambuc
308*0a6a1f1dSLionel Sambuc {
309*0a6a1f1dSLionel Sambuc "paragraphs",
310*0a6a1f1dSLionel Sambuc "12: ",
311*0a6a1f1dSLionel Sambuc false,
312*0a6a1f1dSLionel Sambuc 0,
313*0a6a1f1dSLionel Sambuc "56789 123456\n2 4 6",
314*0a6a1f1dSLionel Sambuc "12: 56789\n 123456\n\n 2 4 6"
315*0a6a1f1dSLionel Sambuc },
316*0a6a1f1dSLionel Sambuc
317*0a6a1f1dSLionel Sambuc {
318*0a6a1f1dSLionel Sambuc "paragraphs",
319*0a6a1f1dSLionel Sambuc "12: ",
320*0a6a1f1dSLionel Sambuc true,
321*0a6a1f1dSLionel Sambuc 0,
322*0a6a1f1dSLionel Sambuc "56789 123456\n2 4 6",
323*0a6a1f1dSLionel Sambuc "12: 56789\n12: 123456\n12: \n12: 2 4 6"
324*0a6a1f1dSLionel Sambuc },
325*0a6a1f1dSLionel Sambuc
326*0a6a1f1dSLionel Sambuc {
327*0a6a1f1dSLionel Sambuc "paragraphs",
328*0a6a1f1dSLionel Sambuc "12:",
329*0a6a1f1dSLionel Sambuc false,
330*0a6a1f1dSLionel Sambuc 4,
331*0a6a1f1dSLionel Sambuc "56789 123456\n2 4 6",
332*0a6a1f1dSLionel Sambuc "12: 56789\n 123456\n\n 2 4 6"
333*0a6a1f1dSLionel Sambuc },
334*0a6a1f1dSLionel Sambuc
335*0a6a1f1dSLionel Sambuc {
336*0a6a1f1dSLionel Sambuc "paragraphs",
337*0a6a1f1dSLionel Sambuc "12:",
338*0a6a1f1dSLionel Sambuc true,
339*0a6a1f1dSLionel Sambuc 4,
340*0a6a1f1dSLionel Sambuc "56789 123456\n2 4 6",
341*0a6a1f1dSLionel Sambuc "12: 56789\n12: 123456\n12:\n12: 2 4 6"
342*0a6a1f1dSLionel Sambuc },
343*0a6a1f1dSLionel Sambuc
344*0a6a1f1dSLionel Sambuc //
345*0a6a1f1dSLionel Sambuc // end
346*0a6a1f1dSLionel Sambuc //
347*0a6a1f1dSLionel Sambuc
348*0a6a1f1dSLionel Sambuc {
349*0a6a1f1dSLionel Sambuc NULL,
350*0a6a1f1dSLionel Sambuc NULL,
351*0a6a1f1dSLionel Sambuc false,
352*0a6a1f1dSLionel Sambuc 0,
353*0a6a1f1dSLionel Sambuc NULL,
354*0a6a1f1dSLionel Sambuc NULL,
355*0a6a1f1dSLionel Sambuc },
356*0a6a1f1dSLionel Sambuc };
357*0a6a1f1dSLionel Sambuc
358*0a6a1f1dSLionel Sambuc static
359*0a6a1f1dSLionel Sambuc void
run_tests(const char * tc)360*0a6a1f1dSLionel Sambuc run_tests(const char *tc)
361*0a6a1f1dSLionel Sambuc {
362*0a6a1f1dSLionel Sambuc struct test *t;
363*0a6a1f1dSLionel Sambuc
364*0a6a1f1dSLionel Sambuc std::cout << "Running tests for " << tc << "\n";
365*0a6a1f1dSLionel Sambuc
366*0a6a1f1dSLionel Sambuc tools::env::set("COLUMNS", "15");
367*0a6a1f1dSLionel Sambuc
368*0a6a1f1dSLionel Sambuc for (t = &tests[0]; t->tc != NULL; t++) {
369*0a6a1f1dSLionel Sambuc if (std::strcmp(t->tc, tc) == 0) {
370*0a6a1f1dSLionel Sambuc std::cout << "\n";
371*0a6a1f1dSLionel Sambuc std::cout << "Testing with tag '" << t->tag << "', '"
372*0a6a1f1dSLionel Sambuc << (t->repeat ? "repeat" : "no repeat") << "', col "
373*0a6a1f1dSLionel Sambuc << t->col << "\n";
374*0a6a1f1dSLionel Sambuc std::cout << "Input: >>>" << t->fmt << "<<<\n";
375*0a6a1f1dSLionel Sambuc std::cout << "Expected output: >>>" << t->result << "<<<\n";
376*0a6a1f1dSLionel Sambuc
377*0a6a1f1dSLionel Sambuc std::string result = tools::ui::format_text_with_tag(t->fmt, t->tag,
378*0a6a1f1dSLionel Sambuc t->repeat, t->col);
379*0a6a1f1dSLionel Sambuc std::cout << "Output : >>>" << result << "<<<\n";
380*0a6a1f1dSLionel Sambuc ATF_REQUIRE_EQ(t->result, result);
381*0a6a1f1dSLionel Sambuc }
382*0a6a1f1dSLionel Sambuc }
383*0a6a1f1dSLionel Sambuc }
384*0a6a1f1dSLionel Sambuc
385*0a6a1f1dSLionel Sambuc ATF_TEST_CASE(wo_tag);
ATF_TEST_CASE_HEAD(wo_tag)386*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_HEAD(wo_tag)
387*0a6a1f1dSLionel Sambuc {
388*0a6a1f1dSLionel Sambuc set_md_var("descr", "Checks formatting without tags");
389*0a6a1f1dSLionel Sambuc }
ATF_TEST_CASE_BODY(wo_tag)390*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_BODY(wo_tag)
391*0a6a1f1dSLionel Sambuc {
392*0a6a1f1dSLionel Sambuc run_tests("wo_tag");
393*0a6a1f1dSLionel Sambuc }
394*0a6a1f1dSLionel Sambuc
395*0a6a1f1dSLionel Sambuc ATF_TEST_CASE(wo_tag_col);
ATF_TEST_CASE_HEAD(wo_tag_col)396*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_HEAD(wo_tag_col)
397*0a6a1f1dSLionel Sambuc {
398*0a6a1f1dSLionel Sambuc set_md_var("descr", "Checks formatting without tags and with a non-zero "
399*0a6a1f1dSLionel Sambuc "starting column");
400*0a6a1f1dSLionel Sambuc }
ATF_TEST_CASE_BODY(wo_tag_col)401*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_BODY(wo_tag_col)
402*0a6a1f1dSLionel Sambuc {
403*0a6a1f1dSLionel Sambuc run_tests("wo_tag_col");
404*0a6a1f1dSLionel Sambuc }
405*0a6a1f1dSLionel Sambuc
406*0a6a1f1dSLionel Sambuc ATF_TEST_CASE(w_tag_no_repeat);
ATF_TEST_CASE_HEAD(w_tag_no_repeat)407*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_HEAD(w_tag_no_repeat)
408*0a6a1f1dSLionel Sambuc {
409*0a6a1f1dSLionel Sambuc set_md_var("descr", "Checks formatting with a tag");
410*0a6a1f1dSLionel Sambuc }
ATF_TEST_CASE_BODY(w_tag_no_repeat)411*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_BODY(w_tag_no_repeat)
412*0a6a1f1dSLionel Sambuc {
413*0a6a1f1dSLionel Sambuc run_tests("w_tag_no_repeat");
414*0a6a1f1dSLionel Sambuc }
415*0a6a1f1dSLionel Sambuc
416*0a6a1f1dSLionel Sambuc ATF_TEST_CASE(w_tag_repeat);
ATF_TEST_CASE_HEAD(w_tag_repeat)417*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_HEAD(w_tag_repeat)
418*0a6a1f1dSLionel Sambuc {
419*0a6a1f1dSLionel Sambuc set_md_var("descr", "Checks formatting with a tag and repeating it on "
420*0a6a1f1dSLionel Sambuc "each line");
421*0a6a1f1dSLionel Sambuc }
ATF_TEST_CASE_BODY(w_tag_repeat)422*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_BODY(w_tag_repeat)
423*0a6a1f1dSLionel Sambuc {
424*0a6a1f1dSLionel Sambuc run_tests("w_tag_repeat");
425*0a6a1f1dSLionel Sambuc }
426*0a6a1f1dSLionel Sambuc
427*0a6a1f1dSLionel Sambuc ATF_TEST_CASE(w_tag_col);
ATF_TEST_CASE_HEAD(w_tag_col)428*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_HEAD(w_tag_col)
429*0a6a1f1dSLionel Sambuc {
430*0a6a1f1dSLionel Sambuc set_md_var("descr", "Checks formatting with a tag and starting at a "
431*0a6a1f1dSLionel Sambuc "column greater than its length");
432*0a6a1f1dSLionel Sambuc }
ATF_TEST_CASE_BODY(w_tag_col)433*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_BODY(w_tag_col)
434*0a6a1f1dSLionel Sambuc {
435*0a6a1f1dSLionel Sambuc run_tests("w_tag_col");
436*0a6a1f1dSLionel Sambuc }
437*0a6a1f1dSLionel Sambuc
438*0a6a1f1dSLionel Sambuc ATF_TEST_CASE(paragraphs);
ATF_TEST_CASE_HEAD(paragraphs)439*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_HEAD(paragraphs)
440*0a6a1f1dSLionel Sambuc {
441*0a6a1f1dSLionel Sambuc set_md_var("descr", "Checks formatting a string that contains multiple "
442*0a6a1f1dSLionel Sambuc "paragraphs");
443*0a6a1f1dSLionel Sambuc }
ATF_TEST_CASE_BODY(paragraphs)444*0a6a1f1dSLionel Sambuc ATF_TEST_CASE_BODY(paragraphs)
445*0a6a1f1dSLionel Sambuc {
446*0a6a1f1dSLionel Sambuc run_tests("paragraphs");
447*0a6a1f1dSLionel Sambuc }
448*0a6a1f1dSLionel Sambuc
449*0a6a1f1dSLionel Sambuc // ------------------------------------------------------------------------
450*0a6a1f1dSLionel Sambuc // Main.
451*0a6a1f1dSLionel Sambuc // ------------------------------------------------------------------------
452*0a6a1f1dSLionel Sambuc
ATF_INIT_TEST_CASES(tcs)453*0a6a1f1dSLionel Sambuc ATF_INIT_TEST_CASES(tcs)
454*0a6a1f1dSLionel Sambuc {
455*0a6a1f1dSLionel Sambuc // Add the test cases for the free functions.
456*0a6a1f1dSLionel Sambuc ATF_ADD_TEST_CASE(tcs, wo_tag);
457*0a6a1f1dSLionel Sambuc ATF_ADD_TEST_CASE(tcs, wo_tag_col);
458*0a6a1f1dSLionel Sambuc ATF_ADD_TEST_CASE(tcs, w_tag_no_repeat);
459*0a6a1f1dSLionel Sambuc ATF_ADD_TEST_CASE(tcs, w_tag_repeat);
460*0a6a1f1dSLionel Sambuc ATF_ADD_TEST_CASE(tcs, w_tag_col);
461*0a6a1f1dSLionel Sambuc ATF_ADD_TEST_CASE(tcs, paragraphs);
462*0a6a1f1dSLionel Sambuc }
463