1# Testing verbatim sections
2use strict;
3use Test;
4BEGIN { plan tests => 31 };
5
6#use Pod::Simple::Debug (6);
7
8ok 1;
9
10use Pod::Simple::DumpAsXML;
11use Pod::Simple::XMLOutStream;
12print "# Pod::Simple version $Pod::Simple::VERSION\n";
13sub e ($$) { Pod::Simple::DumpAsXML->_duo(@_) }
14
15&ok( e "", "" );
16&ok( e "\n", "", );
17
18
19
20
21&ok( e "\n=pod\n\n foo bar baz", "\n=pod\n\n foo bar baz" );
22&ok( e "\n=pod\n\n foo bar baz", "\n=pod\n\n foo bar baz\n" );
23
24
25ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n"),
26  qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz</Verbatim></Document>}
27);
28ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n quux\n"),
29  qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\n quux</Verbatim></Document>}
30);
31ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\nquux\n"),
32  qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\nquux</Verbatim></Document>}
33);
34
35print "# Contiguous verbatims...\n";
36ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n quux\n"),
37  qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\n\n quux</Verbatim></Document>}
38);
39ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n\n quux\n"),
40  qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\n\n\n quux</Verbatim></Document>}
41);
42
43print "# Testing =cut...\n";
44ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n=cut\n quux\n"),
45  qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz</Verbatim></Document>}
46);
47
48
49# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
51{
52my $it =
53qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz</Verbatim><head1>Foo</head1><Verbatim\nxml:space="preserve"> quux\nquum</Verbatim></Document>}
54;
55
56
57print "# Various \\n-(in)significance sanity checks...\n";
58
59print "#  verbatim/cut/head/verbatim sanity zero...\n";
60
61ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n=head1 Foo\n\n quux\nquum\n"), $it);
62ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n=cut\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
63ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n=cut\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
64
65print "#  verbatim/cut/head/verbatim sanity one...\n";
66
67ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
68ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
69ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n=cut\n\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
70
71print "#  verbatim/cut/head/verbatim sanity two...\n";
72
73ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
74ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
75ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n=cut\n\n\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
76
77print "#  verbatim/cut/head/verbatim sanity three...\n";
78
79ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
80ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
81ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n=cut\n\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
82
83print "#  verbatim/cut/head/verbatim sanity four...\n";
84
85ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n\n\n\n=cut\n\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
86ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n\n\n\n\n=cut\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
87ok( Pod::Simple::XMLOutStream->_out("\n=pod\n\n foo bar baz\n\n\n\n\n\n=cut\n\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
88
89}
90
91#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92
93print "# Testing tab expansion...\n";
94
95&ok( e
96q{=pod
97
98 here we go now
99a
100 b
101  c
102   d
103    e
104     f
105      g
106       h
107        i
108         j
109          k
110           l
111            m
112             n
113              o
114               p
115                q
116                 r
117                  s
118                   t
119                    u
120                     v
121                      w
122                       x
123                        y
124                         z
125},
126q{=pod
127
128 here we go now
129a
130 b
131  c
132   d
133    e
134     f
135      g
136       h
137        i
138         j
139          k
140           l
141            m
142             n
143              o
144               p
145                q
146                 r
147                  s
148                   t
149                    u
150                     v
151                      w
152                       x
153                        y
154                         z
155},
156);
157
158#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
159
160&ok( e
161q{=pod
162
163 here we go now
164a
165.b
166. c
167.  d
168.   e
169.    f
170.     g
171.      h
172.       i
173.        j
174.         k
175.          l
176.           m
177.            n
178.             o
179.              p
180.               q
181.                r
182.                 s
183.                  t
184.                   u
185.                    v
186.                     w
187.                      x
188.                       y
189.                        z
190},
191q{=pod
192
193 here we go now
194a
195.b
196. c
197.  d
198.   e
199.    f
200.     g
201.      h
202.       i
203.        j
204.         k
205.          l
206.           m
207.            n
208.             o
209.              p
210.               q
211.                r
212.                 s
213.                  t
214.                   u
215.                    v
216.                     w
217.                      x
218.                       y
219.                        z
220},
221);
222
223#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
224
225&ok( e
226q{=pod
227
228 here we go now
229a
230.b
231..c
232.. d
233..  e
234..   f
235..    g
236..     h
237..      i
238..       j
239..        k
240..         l
241..          m
242..           n
243..            o
244..             p
245..              q
246..               r
247..                s
248..                 t
249..                  u
250..                   v
251..                    w
252..                     x
253..                      y
254..                       z
255},
256q{=pod
257
258 here we go now
259a
260.b
261..c
262.. d
263..  e
264..   f
265..    g
266..     h
267..      i
268..       j
269..        k
270..         l
271..          m
272..           n
273..            o
274..             p
275..              q
276..               r
277..                s
278..                 t
279..                  u
280..                   v
281..                    w
282..                     x
283..                      y
284..                       z
285},
286);
287
288
289#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
290
291&ok( e
292q{=pod
293
294 here we go now
295a
296.b
297..c
298.. d
299..  e
300..   f
301..    g
302..     h
303..      i
304..      .j
305..      . k
306..      .  l
307..      .   m
308..      .    n
309..      .     o
310..      .      p
311..      .       q
312..      .        r
313..      .         s
314..      .          t
315..      .           u
316..      .            v
317..      .             w
318..      .              x
319..      .               y
320..      .                z
321},
322q{=pod
323
324 here we go now
325a
326.b
327..c
328.. d
329..  e
330..   f
331..    g
332..     h
333..      i
334..      .j
335..      . k
336..      .  l
337..      .   m
338..      .    n
339..      .     o
340..      .      p
341..      .       q
342..      .        r
343..      .         s
344..      .          t
345..      .           u
346..      .            v
347..      .             w
348..      .              x
349..      .               y
350..      .                z
351},
352);
353
354#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
355
356# TODO: long-line splitting?
357
358
359print "# Wrapping up... one for the road...\n";
360ok 1;
361print "# --- Done with ", __FILE__, " --- \n";
362
363
364