11 BEGIN { plan tests => 101 };
13 #use Pod::Simple::Debug (10);
17 use Pod::Simple::DumpAsXML;
18 use Pod::Simple::XMLOutStream;
19 print "# Pod::Simple version $Pod::Simple::VERSION\n";
20 sub e ($$) { Pod::Simple::DumpAsXML->_duo(@_) }
21 my $x = 'Pod::Simple::XMLOutStream';
23 print "##### Testing L codes via x class $x...\n";
25 $Pod::Simple::XMLOutStream::ATTR_PAD = ' ';
26 $Pod::Simple::XMLOutStream::SORT_ATTRS = 1; # for predictably testable output
28 print "# Simple/moderate L<stuff> tests...\n";
30 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
31 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
34 ok($x->_out(qq{=pod\n\nL<crontab(5)>\n}),
35 '<Document><Para><L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man">crontab(5)</L></Para></Document>'
38 ok($x->_out(qq{=pod\n\nL<login.conf(5)>\n}),
39 '<Document><Para><L content-implicit="yes" raw="login.conf(5)" to="login.conf(5)" type="man">login.conf(5)</L></Para></Document>'
42 ok($x->_out(qq{=pod\n\nL<foo_bar(5)>\n}),
43 '<Document><Para><L content-implicit="yes" raw="foo_bar(5)" to="foo_bar(5)" type="man">foo_bar(5)</L></Para></Document>'
46 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-pong>\n}),
47 '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-pong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
50 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-pong">\n}),
51 '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-pong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
54 ok( $x->_out(qq{=pod\n\nL</"Object Methods">\n}),
55 '<Document><Para><L content-implicit="yes" raw="/"Object Methods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
57 ok( $x->_out(qq{=pod\n\nL</Object Methods>\n}),
58 '<Document><Para><L content-implicit="yes" raw="/Object Methods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
60 ok( $x->_out(qq{=pod\n\nL<"Object Methods">\n}),
61 '<Document><Para><L content-implicit="yes" raw=""Object Methods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
65 print "# Complex L<stuff> tests...\n";
66 print "# Ents in the middle...\n";
68 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
69 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
71 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-E<112>ong>\n}),
72 '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
74 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-E<112>ong">\n}),
75 '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-E<112>ong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
78 ok( $x->_out(qq{=pod\n\nL</"Object E<77>ethods">\n}),
79 '<Document><Para><L content-implicit="yes" raw="/"Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
81 ok( $x->_out(qq{=pod\n\nL</Object E<77>ethods>\n}),
82 '<Document><Para><L content-implicit="yes" raw="/Object E<77>ethods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
84 ok( $x->_out(qq{=pod\n\nL<"Object E<77>ethods">\n}),
85 '<Document><Para><L content-implicit="yes" raw=""Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
90 print "# Ents in the middle and at the start...\n";
92 ok($x->_out(qq{=pod\n\nL<E<78>et::Ping>\n}),
93 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
95 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/Ping-E<112>ong>\n}),
96 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
98 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/"Ping-E<112>ong">\n}),
99 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/"Ping-E<112>ong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
102 ok( $x->_out(qq{=pod\n\nL</"E<79>bject E<77>ethods">\n}),
103 '<Document><Para><L content-implicit="yes" raw="/"E<79>bject E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
105 ok( $x->_out(qq{=pod\n\nL</E<79>bject E<77>ethods>\n}),
106 '<Document><Para><L content-implicit="yes" raw="/E<79>bject E<77>ethods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
108 ok( $x->_out(qq{=pod\n\nL<"E<79>bject E<77>ethods">\n}),
109 '<Document><Para><L content-implicit="yes" raw=""E<79>bject E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
113 print "# Ents in the middle and at the start and at the end...\n";
115 ok($x->_out(qq{=pod\n\nL<E<78>et::PinE<103>>\n}),
116 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
118 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/Ping-E<112>onE<103>>\n}),
119 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/Ping-E<112>onE<103>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
121 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/"Ping-E<112>onE<103>">\n}),
122 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/"Ping-E<112>onE<103>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
125 ok( $x->_out(qq{=pod\n\nL</"E<79>bject E<77>ethodE<115>">\n}),
126 '<Document><Para><L content-implicit="yes" raw="/"E<79>bject E<77>ethodE<115>"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
128 ok( $x->_out(qq{=pod\n\nL</E<79>bject E<77>ethodE<115>>\n}),
129 '<Document><Para><L content-implicit="yes" raw="/E<79>bject E<77>ethodE<115>" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
131 ok( $x->_out(qq{=pod\n\nL<"E<79>bject E<77>ethodE<115>">\n}),
132 '<Document><Para><L content-implicit="yes" raw=""E<79>bject E<77>ethodE<115>"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
136 print "# Even more complex L<stuff> tests...\n";
139 print "# Ents in the middle...\n";
141 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
142 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
144 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-E<112>ong>\n}),
145 '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
147 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-E<112>ong">\n}),
148 '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-E<112>ong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
151 ok( $x->_out(qq{=pod\n\nL</"Object E<77>ethods">\n}),
152 '<Document><Para><L content-implicit="yes" raw="/"Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
154 ok( $x->_out(qq{=pod\n\nL</Object E<77>ethods>\n}),
155 '<Document><Para><L content-implicit="yes" raw="/Object E<77>ethods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
157 ok( $x->_out(qq{=pod\n\nL<"Object E<77>ethods">\n}),
158 '<Document><Para><L content-implicit="yes" raw=""Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
162 ###########################################################################
164 print "# VERY complex L sequences...\n";
165 print "# Ents in the middle and at the start...\n";
168 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
169 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
171 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-B<E<112>ong>>\n}),
172 '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-B<E<112>ong>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
174 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-B<E<112>ong>">\n}),
175 '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-B<E<112>ong>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
178 ok( $x->_out(qq{=pod\n\nL</"B<Object> E<77>ethods">\n}),
179 '<Document><Para><L content-implicit="yes" raw="/"B<Object> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
181 ok( $x->_out(qq{=pod\n\nL</B<Object> E<77>ethods>\n}),
182 '<Document><Para><L content-implicit="yes" raw="/B<Object> E<77>ethods" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
184 ok( $x->_out(qq{=pod\n\nL<"B<Object> E<77>ethods">\n}),
185 '<Document><Para><L content-implicit="yes" raw=""B<Object> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
190 print "# Ents in the middle and at the start...\n";
192 ok($x->_out(qq{=pod\n\nL<E<78>et::Ping>\n}),
193 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
195 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/Ping-B<E<112>ong>>\n}),
196 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/Ping-B<E<112>ong>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
198 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/"Ping-B<E<112>ong>">\n}),
199 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/"Ping-B<E<112>ong>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
202 ok( $x->_out(qq{=pod\n\nL</"B<E<79>bject> E<77>ethods">\n}),
203 '<Document><Para><L content-implicit="yes" raw="/"B<E<79>bject> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
205 ok( $x->_out(qq{=pod\n\nL</B<E<79>bject> E<77>ethods>\n}),
206 '<Document><Para><L content-implicit="yes" raw="/B<E<79>bject> E<77>ethods" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
208 ok( $x->_out(qq{=pod\n\nL<"B<E<79>bject> E<77>ethods">\n}),
209 '<Document><Para><L content-implicit="yes" raw=""B<E<79>bject> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
213 print "# Ents in the middle and at the start and at the end...\n";
215 ok($x->_out(qq{=pod\n\nL<E<78>et::PinE<103>>\n}),
216 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
218 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/Ping-B<E<112>onE<103>>>\n}),
219 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/Ping-B<E<112>onE<103>>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
221 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/"Ping-B<E<112>onE<103>>">\n}),
222 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/"Ping-B<E<112>onE<103>>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
225 ok( $x->_out(qq{=pod\n\nL</"B<E<79>bject> E<77>ethodE<115>">\n}),
226 '<Document><Para><L content-implicit="yes" raw="/"B<E<79>bject> E<77>ethodE<115>"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
228 ok( $x->_out(qq{=pod\n\nL</B<E<79>bject> E<77>ethodE<115>>\n}),
229 '<Document><Para><L content-implicit="yes" raw="/B<E<79>bject> E<77>ethodE<115>" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
231 ok( $x->_out(qq{=pod\n\nL<"B<E<79>bject> E<77>ethodE<115>">\n}),
232 '<Document><Para><L content-implicit="yes" raw=""B<E<79>bject> E<77>ethodE<115>"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
236 ###########################################################################
238 print "#\n# L<url> tests...\n";
240 ok( $x->_out(qq{=pod\n\nL<news:comp.lang.perl.misc>\n}),
241 '<Document><Para><L content-implicit="yes" raw="news:comp.lang.perl.misc" to="news:comp.lang.perl.misc" type="url">news:comp.lang.perl.misc</L></Para></Document>'
243 ok( $x->_out(qq{=pod\n\nL<http://www.perl.com>\n}),
244 '<Document><Para><L content-implicit="yes" raw="http://www.perl.com" to="http://www.perl.com" type="url">http://www.perl.com</L></Para></Document>'
246 ok( $x->_out(qq{=pod\n\nL<http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/>\n}),
247 '<Document><Para><L content-implicit="yes" raw="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
250 print "# L<url> tests with entities...\n";
252 ok( $x->_out(qq{=pod\n\nL<news:compE<46>lang.perl.misc>\n}),
253 '<Document><Para><L content-implicit="yes" raw="news:compE<46>lang.perl.misc" to="news:comp.lang.perl.misc" type="url">news:comp.lang.perl.misc</L></Para></Document>'
255 ok( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com>\n}),
256 '<Document><Para><L content-implicit="yes" raw="http://wwwE<46>perl.com" to="http://www.perl.com" type="url">http://www.perl.com</L></Para></Document>'
258 ok( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKE/>\n}),
259 '<Document><Para><L content-implicit="yes" raw="http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKE/" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
261 ok( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKEE<47>>\n}),
262 '<Document><Para><L content-implicit="yes" raw="http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKEE<47>" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
266 ###########################################################################
269 print "# L<text|stuff> tests...\n";
271 ok($x->_out(qq{=pod\n\nL<things|crontab(5)>\n}),
272 '<Document><Para><L raw="things|crontab(5)" to="crontab(5)" type="man">things</L></Para></Document>'
274 ok($x->_out(qq{=pod\n\nL<things|crontab(5)/ENVIRONMENT>\n}),
275 '<Document><Para><L raw="things|crontab(5)/ENVIRONMENT" section="ENVIRONMENT" to="crontab(5)" type="man">things</L></Para></Document>'
277 ok($x->_out(qq{=pod\n\nL<things|crontab(5)/"ENVIRONMENT">\n}),
278 '<Document><Para><L raw="things|crontab(5)/"ENVIRONMENT"" section="ENVIRONMENT" to="crontab(5)" type="man">things</L></Para></Document>'
281 ok( $x->_out(qq{=pod\n\nL<Perl Error Messages|perldiag>\n}),
282 '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
284 ok( $x->_out(qq{=pod\n\nL<Perl\nError\nMessages|perldiag>\n}),
285 '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
287 ok( $x->_out(qq{=pod\n\nL<Perl\nError\t Messages|perldiag>\n}),
288 '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
292 ok( $x->_out(qq{=pod\n\nL<SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements">\n}),
293 '<Document><Para><L raw="SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH statements</L></Para></Document>'
295 ok( $x->_out(qq{=pod\n\nL<SWITCH statements|perlsyn/Basic BLOCKs and Switch Statements>\n}),
296 '<Document><Para><L raw="SWITCH statements|perlsyn/Basic BLOCKs and Switch Statements" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH statements</L></Para></Document>'
300 ok( $x->_out(qq{=pod\n\nL<the various attributes|/"Member Data">\n}),
301 '<Document><Para><L raw="the various attributes|/"Member Data"" section="Member Data" type="pod">the various attributes</L></Para></Document>'
303 ok( $x->_out(qq{=pod\n\nL<the various attributes|/Member Data>\n}),
304 '<Document><Para><L raw="the various attributes|/Member Data" section="Member Data" type="pod">the various attributes</L></Para></Document>'
306 ok( $x->_out(qq{=pod\n\nL<the various attributes|"Member Data">\n}),
307 '<Document><Para><L raw="the various attributes|"Member Data"" section="Member Data" type="pod">the various attributes</L></Para></Document>'
311 print "#\n# Now some very complex L<text|stuff> tests...\n";
314 ok( $x->_out(qq{=pod\n\nL<Perl B<Error E<77>essages>|perldiag>\n}),
315 '<Document><Para><L raw="Perl B<Error E<77>essages>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
317 ok( $x->_out(qq{=pod\n\nL<Perl\nB<Error\nE<77>essages>|perldiag>\n}),
318 '<Document><Para><L raw="Perl B<Error E<77>essages>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
320 ok( $x->_out(qq{=pod\n\nL<Perl\nB<Error\t E<77>essages>|perldiag>\n}),
321 '<Document><Para><L raw="Perl B<Error E<77>essages>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
325 ok( $x->_out(qq{=pod\n\nL<SWITCH B<E<115>tatements>|perlsyn/"Basic I<BLOCKs> and Switch StatementE<115>">\n}),
326 '<Document><Para><L raw="SWITCH B<E<115>tatements>|perlsyn/"Basic I<BLOCKs> and Switch StatementE<115>"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
328 ok( $x->_out(qq{=pod\n\nL<SWITCH B<E<115>tatements>|perlsyn/Basic I<BLOCKs> and Switch StatementE<115>>\n}),
329 '<Document><Para><L raw="SWITCH B<E<115>tatements>|perlsyn/Basic I<BLOCKs> and Switch StatementE<115>" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
333 ok( $x->_out(qq{=pod\n\nL<the F<various> attributes|/"Member Data">\n}),
334 '<Document><Para><L raw="the F<various> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
336 ok( $x->_out(qq{=pod\n\nL<the F<various> attributes|/Member Data>\n}),
337 '<Document><Para><L raw="the F<various> attributes|/Member Data" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
339 ok( $x->_out(qq{=pod\n\nL<the F<various> attributes|"Member Data">\n}),
340 '<Document><Para><L raw="the F<various> attributes|"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
344 print "#\n# Now some very complex L<text|stuff> tests with variant syntax...\n";
347 ok( $x->_out(qq{=pod\n\nL<< Perl B<<< Error E<77>essages >>>|perldiag >>\n}),
348 '<Document><Para><L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
350 ok( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\nE<77>essages >>>|perldiag >>\n}),
351 '<Document><Para><L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
353 ok( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\t E<77>essages >>>|perldiag >>\n}),
354 '<Document><Para><L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
358 ok( $x->_out(qq{=pod\n\nL<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>\n}),
359 '<Document><Para><L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
361 ok( $x->_out(qq{=pod\n\nL<< SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115> >>\n}),
362 '<Document><Para><L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
366 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|/"Member Data" >>>\n}),
367 '<Document><Para><L raw="the F<< various >> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
369 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|/Member Data >>>\n}),
370 '<Document><Para><L raw="the F<< various >> attributes|/Member Data" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
372 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|"Member Data" >>>\n}),
373 '<Document><Para><L raw="the F<< various >> attributes|"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
376 ###########################################################################
378 print "#\n# Now some very complex L<text|stuff> tests with variant syntax and text around it...\n";
381 ok( $x->_out(qq{=pod\n\nI like L<< Perl B<<< Error E<77>essages >>>|perldiag >>.\n}),
382 '<Document><Para>I like <L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
384 ok( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\nE<77>essages >>>|perldiag >>.\n}),
385 '<Document><Para>I like <L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
387 ok( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\t E<77>essages >>>|perldiag >>.\n}),
388 '<Document><Para>I like <L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
392 ok( $x->_out(qq{=pod\n\nI like L<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>.\n}),
393 '<Document><Para>I like <L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
395 ok( $x->_out(qq{=pod\n\nI like L<< SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115> >>.\n}),
396 '<Document><Para>I like <L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
400 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|/"Member Data" >>>.\n}),
401 '<Document><Para>I like <L raw="the F<< various >> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
403 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|/Member Data >>>.\n}),
404 '<Document><Para>I like <L raw="the F<< various >> attributes|/Member Data" section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
406 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|"Member Data" >>>.\n}),
407 '<Document><Para>I like <L raw="the F<< various >> attributes|"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
410 ok( $x->_out(qq{=pod\n\nI like L<<< B<text>s|http://text.com >>>.\n}),
411 '<Document><Para>I like <L raw="B<text>s|http://text.com" to="http://text.com" type="url"><B>text</B>s</L>.</Para></Document>'
413 ok( $x->_out(qq{=pod\n\nI like L<<< text|https://text.com/1/2 >>>.\n}),
414 '<Document><Para>I like <L raw="text|https://text.com/1/2" to="https://text.com/1/2" type="url">text</L>.</Para></Document>'
416 ok( $x->_out(qq{=pod\n\nI like L<<< I<text>|http://text.com >>>.\n}),
417 '<Document><Para>I like <L raw="I<text>|http://text.com" to="http://text.com" type="url"><I>text</I></L>.</Para></Document>'
419 ok( $x->_out(qq{=pod\n\nI like L<<< C<text>|http://text.com >>>.\n}),
420 '<Document><Para>I like <L raw="C<text>|http://text.com" to="http://text.com" type="url"><C>text</C></L>.</Para></Document>'
422 ok( $x->_out(qq{=pod\n\nI like L<<< I<tI<eI<xI<t>>>>|mailto:earlE<64>text.com >>>.\n}),
423 '<Document><Para>I like <L raw="I<tI<eI<xI<t>>>>|mailto:earlE<64>text.com" to="mailto:earl@text.com" type="url"><I>t<I>e<I>x<I>t</I></I></I></I></L>.</Para></Document>'
425 ok( $x->_out(qq{=pod\n\nI like L<<< textZ<>|http://text.com >>>.\n}),
426 '<Document><Para>I like <L raw="textZ<>|http://text.com" to="http://text.com" type="url">text</L>.</Para></Document>'
436 ###########################################################################
438 print "# Wrapping up... one for the road...\n";
440 print "# --- Done with ", __FILE__, " --- \n";