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