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