4 BEGIN { plan tests => 62 };
6 #use Pod::Simple::Debug (6);
10 use Pod::Simple::DumpAsXML;
11 use Pod::Simple::XMLOutStream;
13 print "# Pod::Simple version $Pod::Simple::VERSION\n";
14 sub e ($$) { Pod::Simple::DumpAsXML->_duo(\&without_vf, @_) }
15 sub ev ($$) { Pod::Simple::DumpAsXML->_duo(\&with_vf, @_) }
17 sub with_vf { $_[0]-> accept_codes('VerbatimFormatted') }
18 sub without_vf { $_[0]->unaccept_codes('VerbatimFormatted') }
20 # ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
22 print "# Testing VerbatimFormatted...\n";
23 # A formatty line has to have #: in the first two columns, and uses
24 # "^" to mean bold, "/" to mean underline, and "%" to mean bold italic.
26 # What do you want? i like pie. [or whatever]
27 # #:^^^^^^^^^^^^^^^^^ /////////////
30 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
33 What do you want? i like pie. [or whatever]
34 #:^^^^^^^^^^^^^^^^^ /////////////
39 }) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or whatever]</VerbatimI>\n Hooboy.</VerbatimFormatted></Document>}
43 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
46 What do you want? i like pie. [or whatever]
47 #:^^^^^^^^^^^^^^^^^ /////////////
52 }) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or whatever]</VerbatimI>\n Hooboy.</VerbatimFormatted></Document>}
56 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
59 What do you want? i like pie. [or whatever]
60 #:^^^^^^^^^^^^^^^^^ /////////////
64 }) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or whatever]</VerbatimI></VerbatimFormatted></Document>}
68 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
71 What do you want? i like pie. [or whatever]
72 #:^^^^^^^^^^^^^^^^^ /////////////}
73 ) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or whatever]</VerbatimI></VerbatimFormatted></Document>}
77 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
80 What do you want? i like pie. [or whatever]
81 #:^^^^^^^^^^^^^^^^^ //////////////////}
82 ) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or whatever]</VerbatimI></VerbatimFormatted></Document>}
86 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
89 What do you want? i like pie. [or whatever]
90 #:^^^^^^^^^^^^^^^^^ ///}
91 ) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or</VerbatimI> whatever]</VerbatimFormatted></Document>}
95 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
98 What do you want? i like pie. [or whatever]
99 #:^^^^^^^^^^^^^^^^^ ///
100 #:^^^^^^^^^^^^^^^^^ ///}
101 ) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or</VerbatimI> whatever]\n#:^^^^^^^^^^^^^^^^^ ///</VerbatimFormatted></Document>}
105 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
109 What do you want? i like pie. [or whatever]
110 #:^^^^^^^^^^^^^^^^^ /// }
111 ) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i like pie. <VerbatimI>[or</VerbatimI> whatever]</VerbatimFormatted></Document>}
116 # Now testing the % too:
117 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
120 What do you want? i like pie. [or whatever]
121 #:^^^^^^^^^^^^^^^^^ %%%% //////////////////}
122 ) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> <VerbatimB>What do you want?</VerbatimB> i <VerbatimBI>like</VerbatimBI> pie. <VerbatimI>[or whatever]</VerbatimI></VerbatimFormatted></Document>}
126 &ok( Pod::Simple::XMLOutStream->_out(\&with_vf,
130 What do you want? i like pie. [or whatever]
131 #: ^^^^^ %%%% //////////////////}
132 ) => qq{<Document><VerbatimFormatted\nxml:space="preserve"> Hooboy!\n What do you <VerbatimB>want?</VerbatimB> i <VerbatimBI>like</VerbatimBI> pie. <VerbatimI>[or whatever]</VerbatimI></VerbatimFormatted></Document>}
137 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
143 # ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
145 print "# Now running some tests adapted from verbatims.t...\n#\n#\n";
147 print "# Without VerbatimFormatted...\n";
150 &ok( e "\n=pod\n\n foo bar baz", "\n=pod\n\n foo bar baz" );
151 &ok( e "\n=pod\n\n foo bar baz", "\n=pod\n\n foo bar baz\n" );
152 print "# With VerbatimFormatted...\n";
155 &ok( ev "\n=pod\n\n foo bar baz", "\n=pod\n\n foo bar baz" );
156 &ok( ev "\n=pod\n\n foo bar baz", "\n=pod\n\n foo bar baz\n" );
159 print "# Now testing via XMLOutStream without VerbatimFormatted...\n";
161 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n"),
162 qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz</Verbatim></Document>}
164 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n quux\n"),
165 qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\n quux</Verbatim></Document>}
167 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\nquux\n"),
168 qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\nquux</Verbatim></Document>}
171 print "# Contiguous verbatims...\n";
172 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n\n quux\n"),
173 qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\n\n quux</Verbatim></Document>}
175 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n\n\n quux\n"),
176 qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz\n\n\n quux</Verbatim></Document>}
179 print "# Testing =cut...\n";
180 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n=cut\n quux\n"),
181 qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz</Verbatim></Document>}
187 print "#\n# Now retesting with VerbatimFormatted...\n";
189 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n"),
190 qq{<Document><VerbatimFormatted\nxml:space="preserve"> foo bar baz</VerbatimFormatted></Document>}
192 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n quux\n"),
193 qq{<Document><VerbatimFormatted\nxml:space="preserve"> foo bar baz\n quux</VerbatimFormatted></Document>}
195 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\nquux\n"),
196 qq{<Document><VerbatimFormatted\nxml:space="preserve"> foo bar baz\nquux</VerbatimFormatted></Document>}
199 print "# Contiguous verbatims...\n";
200 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n\n quux\n"),
201 qq{<Document><VerbatimFormatted\nxml:space="preserve"> foo bar baz\n\n quux</VerbatimFormatted></Document>}
203 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n\n\n quux\n"),
204 qq{<Document><VerbatimFormatted\nxml:space="preserve"> foo bar baz\n\n\n quux</VerbatimFormatted></Document>}
207 print "# Testing =cut...\n";
208 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n=cut\n quux\n"),
209 qq{<Document><VerbatimFormatted\nxml:space="preserve"> foo bar baz</VerbatimFormatted></Document>}
215 # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219 qq{<Document><Verbatim\nxml:space="preserve"> foo bar baz</Verbatim><head1>Foo</head1><Verbatim\nxml:space="preserve"> quux\nquum</Verbatim></Document>}
223 print "# Various \\n-(in)significance sanity checks...\n";
225 print "# verbatim/cut/head/verbatim sanity zero...\n";
227 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n\n=head1 Foo\n\n quux\nquum\n"), $it);
228 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n=cut\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
229 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n=cut\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
231 print "# verbatim/cut/head/verbatim sanity one...\n";
233 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
234 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
235 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n\n=cut\n\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
237 print "# verbatim/cut/head/verbatim sanity two...\n";
239 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
240 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
241 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\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);
243 print "# verbatim/cut/head/verbatim sanity three...\n";
245 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
246 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
247 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\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);
249 print "# verbatim/cut/head/verbatim sanity four...\n";
251 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\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);
252 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\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);
253 ok( Pod::Simple::XMLOutStream->_out(\&without_vf, "\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);
258 # : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
260 print "#\n# Now retesting with VerbatimFormatted...\n";
264 qq{<Document><VerbatimFormatted\nxml:space="preserve"> foo bar baz</VerbatimFormatted><head1>Foo</head1><VerbatimFormatted\nxml:space="preserve"> quux\nquum</VerbatimFormatted></Document>}
268 print "# Various \\n-(in)significance sanity checks...\n";
270 print "# verbatim/cut/head/verbatim sanity zero...\n";
272 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n\n=head1 Foo\n\n quux\nquum\n"), $it);
273 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n=cut\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
274 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n=cut\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
276 print "# verbatim/cut/head/verbatim sanity one...\n";
278 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
279 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
280 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n\n=cut\n\nsome code here...\n=head1 Foo\n\n quux\nquum\n"), $it);
282 print "# verbatim/cut/head/verbatim sanity two...\n";
284 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
285 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n\n=head1 Foo\n\n quux\nquum\n"), $it);
286 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\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);
288 print "# verbatim/cut/head/verbatim sanity three...\n";
290 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n=cut\n\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
291 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\n=pod\n\n foo bar baz\n\n=cut\nsome code here...\n\n\n=head1 Foo\n\n quux\nquum\n"), $it);
292 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\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);
294 print "# verbatim/cut/head/verbatim sanity four...\n";
296 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\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);
297 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\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);
298 ok( Pod::Simple::XMLOutStream->_out(\&with_vf, "\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);
304 print "# Wrapping up... one for the road...\n";
306 print "# --- Done with ", __FILE__, " --- \n";