1# fcodes L 2use strict; 3use warnings; 4use Test::More tests => 99; 5 6BEGIN { 7 require FindBin; 8 unshift @INC, $FindBin::Bin . '/lib'; 9} 10use helpers; 11 12#use Pod::Simple::Debug (10); 13 14use Pod::Simple::DumpAsXML; 15use Pod::Simple::XMLOutStream; 16print "# Pod::Simple version $Pod::Simple::VERSION\n"; 17 18my $x = 'Pod::Simple::XMLOutStream'; 19 20print "##### Testing L codes via x class $x...\n"; 21 22$Pod::Simple::XMLOutStream::ATTR_PAD = ' '; 23$Pod::Simple::XMLOutStream::SORT_ATTRS = 1; # for predictably testable output 24 25print "# Simple/moderate L<stuff> tests...\n"; 26 27is($x->_out(qq{=pod\n\nL<Net::Ping>\n}), 28 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 29); 30 31is($x->_out(qq{=pod\n\nL<crontab(5)>\n}), 32 '<Document><Para><L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man">crontab(5)</L></Para></Document>' 33); 34 35is($x->_out(qq{=pod\n\nL<login.conf(5)>\n}), 36 '<Document><Para><L content-implicit="yes" raw="login.conf(5)" to="login.conf(5)" type="man">login.conf(5)</L></Para></Document>' 37); 38 39is($x->_out(qq{=pod\n\nL<foo_bar(5)>\n}), 40 '<Document><Para><L content-implicit="yes" raw="foo_bar(5)" to="foo_bar(5)" type="man">foo_bar(5)</L></Para></Document>' 41); 42 43is( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-pong>\n}), 44 '<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>' 45); 46 47is( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-pong">\n}), 48 '<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>' 49); 50 51is( $x->_out(qq{=pod\n\nL</"Object Methods">\n}), 52 '<Document><Para><L content-implicit="yes" raw="/"Object Methods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>' 53); 54is( $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>' 56); 57is( $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>' 59); 60 61 62print "# Complex L<stuff> tests...\n"; 63print "# Ents in the middle...\n"; 64 65is($x->_out(qq{=pod\n\nL<Net::Ping>\n}), 66 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 67); 68is( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-E<112>ong>\n}), 69 '<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>' 70); 71is( $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>' 73); 74 75is( $x->_out(qq{=pod\n\nL</"Object E<77>ethods">\n}), 76 '<Document><Para><L content-implicit="yes" raw="/"Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>' 77); 78is( $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>' 80); 81is( $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>' 83); 84 85 86 87print "# Ents in the middle and at the start...\n"; 88 89is($x->_out(qq{=pod\n\nL<E<78>et::Ping>\n}), 90 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 91); 92is( $x->_out(qq{=pod\n\nL<E<78>et::Ping/Ping-E<112>ong>\n}), 93 '<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>' 94); 95is( $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>' 97); 98 99is( $x->_out(qq{=pod\n\nL</"E<79>bject E<77>ethods">\n}), 100 '<Document><Para><L content-implicit="yes" raw="/"E<79>bject E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>' 101); 102is( $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>' 104); 105is( $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>' 107); 108 109 110print "# Ents in the middle and at the start and at the end...\n"; 111 112is($x->_out(qq{=pod\n\nL<E<78>et::PinE<103>>\n}), 113 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 114); 115is( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/Ping-E<112>onE<103>>\n}), 116 '<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>' 117); 118is( $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>' 120); 121 122is( $x->_out(qq{=pod\n\nL</"E<79>bject E<77>ethodE<115>">\n}), 123 '<Document><Para><L content-implicit="yes" raw="/"E<79>bject E<77>ethodE<115>"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>' 124); 125is( $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>' 127); 128is( $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>' 130); 131 132 133print "# Even more complex L<stuff> tests...\n"; 134 135 136print "# Ents in the middle...\n"; 137 138is($x->_out(qq{=pod\n\nL<Net::Ping>\n}), 139 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 140); 141is( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-E<112>ong>\n}), 142 '<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>' 143); 144is( $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>' 146); 147 148is( $x->_out(qq{=pod\n\nL</"Object E<77>ethods">\n}), 149 '<Document><Para><L content-implicit="yes" raw="/"Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>' 150); 151is( $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>' 153); 154is( $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>' 156); 157 158 159########################################################################### 160 161print "# VERY complex L sequences...\n"; 162print "# Ents in the middle and at the start...\n"; 163 164 165is($x->_out(qq{=pod\n\nL<Net::Ping>\n}), 166 '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 167); 168is( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-B<E<112>ong>>\n}), 169 '<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>' 170); 171is( $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>' 173); 174 175is( $x->_out(qq{=pod\n\nL</"B<Object> E<77>ethods">\n}), 176 '<Document><Para><L content-implicit="yes" raw="/"B<Object> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>' 177); 178is( $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>' 180); 181is( $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>' 183); 184 185 186 187print "# Ents in the middle and at the start...\n"; 188 189is($x->_out(qq{=pod\n\nL<E<78>et::Ping>\n}), 190 '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 191); 192is( $x->_out(qq{=pod\n\nL<E<78>et::Ping/Ping-B<E<112>ong>>\n}), 193 '<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>' 194); 195is( $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>' 197); 198 199is( $x->_out(qq{=pod\n\nL</"B<E<79>bject> E<77>ethods">\n}), 200 '<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>' 201); 202is( $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>' 204); 205is( $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>' 207); 208 209 210print "# Ents in the middle and at the start and at the end...\n"; 211 212is($x->_out(qq{=pod\n\nL<E<78>et::PinE<103>>\n}), 213 '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>' 214); 215is( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/Ping-B<E<112>onE<103>>>\n}), 216 '<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>' 217); 218is( $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>' 220); 221 222is( $x->_out(qq{=pod\n\nL</"B<E<79>bject> E<77>ethodE<115>">\n}), 223 '<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>' 224); 225is( $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>' 227); 228is( $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>' 230); 231 232 233########################################################################### 234 235print "#\n# L<url> tests...\n"; 236 237is( $x->_out(qq{=pod\n\nL<news:comp.lang.perl.misc>\n}), 238 '<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>' 239); 240is( $x->_out(qq{=pod\n\nL<http://www.perl.com>\n}), 241 '<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>' 242); 243is( $x->_out(qq{=pod\n\nL<http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/>\n}), 244 '<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>' 245); 246 247print "# L<url> tests with entities...\n"; 248 249is( $x->_out(qq{=pod\n\nL<news:compE<46>lang.perl.misc>\n}), 250 '<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>' 251); 252is( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com>\n}), 253 '<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>' 254); 255is( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKE/>\n}), 256 '<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>' 257); 258is( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKEE<47>>\n}), 259 '<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>' 260); 261 262 263########################################################################### 264 265 266print "# L<text|stuff> tests...\n"; 267 268is($x->_out(qq{=pod\n\nL<things|crontab(5)>\n}), 269 '<Document><Para><L raw="things|crontab(5)" to="crontab(5)" type="man">things</L></Para></Document>' 270); 271is($x->_out(qq{=pod\n\nL<things|crontab(5)/ENVIRONMENT>\n}), 272 '<Document><Para><L raw="things|crontab(5)/ENVIRONMENT" section="ENVIRONMENT" to="crontab(5)" type="man">things</L></Para></Document>' 273); 274is($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>' 276); 277 278is( $x->_out(qq{=pod\n\nL<Perl Error Messages|perldiag>\n}), 279 '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>' 280); 281is( $x->_out(qq{=pod\n\nL<Perl\nError\nMessages|perldiag>\n}), 282 '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>' 283); 284is( $x->_out(qq{=pod\n\nL<Perl\nError\t Messages|perldiag>\n}), 285 '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>' 286); 287 288 289is( $x->_out(qq{=pod\n\nL<SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements">\n}), 290 '<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>' 291); 292is( $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>' 294); 295 296 297is( $x->_out(qq{=pod\n\nL<the various attributes|/"Member Data">\n}), 298 '<Document><Para><L raw="the various attributes|/"Member Data"" section="Member Data" type="pod">the various attributes</L></Para></Document>' 299); 300is( $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>' 302); 303is( $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>' 305); 306 307 308print "#\n# Now some very complex L<text|stuff> tests...\n"; 309 310 311is( $x->_out(qq{=pod\n\nL<Perl B<Error E<77>essages>|perldiag>\n}), 312 '<Document><Para><L raw="Perl B<Error E<77>essages>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>' 313); 314is( $x->_out(qq{=pod\n\nL<Perl\nB<Error\nE<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>' 316); 317is( $x->_out(qq{=pod\n\nL<Perl\nB<Error\t E<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>' 319); 320 321 322is( $x->_out(qq{=pod\n\nL<SWITCH B<E<115>tatements>|perlsyn/"Basic I<BLOCKs> and Switch StatementE<115>">\n}), 323 '<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>' 324); 325is( $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>' 327); 328 329 330is( $x->_out(qq{=pod\n\nL<the F<various> attributes|/"Member Data">\n}), 331 '<Document><Para><L raw="the F<various> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>' 332); 333is( $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>' 335); 336is( $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>' 338); 339 340 341print "#\n# Now some very complex L<text|stuff> tests with variant syntax...\n"; 342 343 344is( $x->_out(qq{=pod\n\nL<< Perl B<<< Error E<77>essages >>>|perldiag >>\n}), 345 '<Document><Para><L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>' 346); 347is( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\nE<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>' 349); 350is( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\t E<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>' 352); 353 354 355is( $x->_out(qq{=pod\n\nL<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>\n}), 356 '<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>' 357); 358is( $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>' 360); 361 362 363is( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|/"Member Data" >>>\n}), 364 '<Document><Para><L raw="the F<< various >> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>' 365); 366is( $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>' 368); 369is( $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>' 371); 372 373########################################################################### 374 375print "#\n# Now some very complex L<text|stuff> tests with variant syntax and text around it...\n"; 376 377 378is( $x->_out(qq{=pod\n\nI like L<< Perl B<<< Error E<77>essages >>>|perldiag >>.\n}), 379 '<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>' 380); 381is( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\nE<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>' 383); 384is( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\t E<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>' 386); 387 388 389is( $x->_out(qq{=pod\n\nI like L<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>.\n}), 390 '<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>' 391); 392is( $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>' 394); 395 396 397is( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|/"Member Data" >>>.\n}), 398 '<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>' 399); 400is( $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>' 402); 403is( $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>' 405); 406 407is( $x->_out(qq{=pod\n\nI like L<<< B<text>s|http://text.com >>>.\n}), 408'<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>' 409); 410is( $x->_out(qq{=pod\n\nI like L<<< text|https://text.com/1/2 >>>.\n}), 411'<Document><Para>I like <L raw="text|https://text.com/1/2" to="https://text.com/1/2" type="url">text</L>.</Para></Document>' 412); 413is( $x->_out(qq{=pod\n\nI like L<<< I<text>|http://text.com >>>.\n}), 414'<Document><Para>I like <L raw="I<text>|http://text.com" to="http://text.com" type="url"><I>text</I></L>.</Para></Document>' 415); 416is( $x->_out(qq{=pod\n\nI like L<<< C<text>|http://text.com >>>.\n}), 417'<Document><Para>I like <L raw="C<text>|http://text.com" to="http://text.com" type="url"><C>text</C></L>.</Para></Document>' 418); 419is( $x->_out(qq{=pod\n\nI like L<<< I<tI<eI<xI<t>>>>|mailto:earlE<64>text.com >>>.\n}), 420'<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>' 421); 422is( $x->_out(qq{=pod\n\nI like L<<< textZ<>|http://text.com >>>.\n}), 423'<Document><Para>I like <L raw="textZ<>|http://text.com" to="http://text.com" type="url">text</L>.</Para></Document>' 424); 425 426 427 428 429# 430# TODO: S testing. 431# 432