11 BEGIN { plan tests => 117 };
13 #use Pod::Simple::Debug (5);
15 #sub Pod::Simple::MANY_LINES () {1}
16 #sub Pod::Simple::PullParser::DEBUG () {3}
19 use Pod::Simple::PullParser;
23 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 ###########################################################################
27 print "# Testing another set, at line ", __LINE__, "\n";
29 my $p = Pod::Simple::PullParser->new;
30 $p->set_source( \qq{\n=head1 NAME\n\nBzorch\n\n=pod\n\nLala\n\n\=cut\n} );
32 ok $p->get_title(), 'Bzorch';
36 ok( $t = $p->get_token);
37 ok( $t && $t->type, 'start');
38 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
40 ok( $t = $p->get_token);
41 ok( $t && $t->type, 'start');
42 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
44 ok( $t = $p->get_token);
45 ok( $t && $t->type, 'text');
46 ok( $t && $t->type eq 'text' && $t->text, 'NAME' );
51 eval { $p->set_source(\'=head1 foo') };
53 ok $@ =~ /\QCannot assign new source to pull parser; create a new instance, instead/;
57 ###########################################################################
60 print "# Testing a set with nocase, at line ", __LINE__, "\n";
61 my $p = Pod::Simple::PullParser->new;
62 $p->set_source( \qq{\n=head1 Name\n\nShazbot\n\n=pod\n\nLala\n\n\=cut\n} );
64 ok $p->get_title(nocase => 1), 'Shazbot';
66 ok( my $t = $p->get_token);
67 ok( $t && $t->type, 'start');
68 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
70 ok( $t = $p->get_token);
71 ok( $t && $t->type, 'start');
72 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
74 ok( $t = $p->get_token);
75 ok( $t && $t->type, 'text');
76 ok( $t && $t->type eq 'text' && $t->text, 'Name' );
80 ###########################################################################
83 print "# Testing another set, at line ", __LINE__, "\n";
85 my $p = Pod::Simple::PullParser->new;
86 $p->set_source( \qq{\n=head1 NE<65>ME\n\nBzorch\n\n=pod\n\nLala\n\n\=cut\n} );
88 ok $p->get_title(), 'Bzorch';
91 ok( $t = $p->get_token);
92 ok( $t && $t->type, 'start');
93 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
95 ok( $t = $p->get_token);
96 ok( $t && $t->type, 'start');
97 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
99 ok( $t = $p->get_token);
100 ok( $t && $t->type, 'text');
105 ###########################################################################
108 print "# Testing another set, at line ", __LINE__, "\n";
111 my $p = Pod::Simple::PullParser->new;
112 $p->set_source( \qq{\n=head1 NAME\n\nBzorch - I<thing> lala\n\n=pod\n\nLala\n\n\=cut\n} );
113 ok $p->get_title(), 'Bzorch - thing lala';
117 my $p = Pod::Simple::PullParser->new;
118 $p->set_source( \qq{\n=head1 NAME\n\nBzorch - I<thing> lala\n\n=pod\n\nLala\n\n\=cut\n} );
119 ok $p->get_title(), 'Bzorch - thing lala';
123 ok( $t = $p->get_token);
124 ok( $t && $t->type, 'start');
125 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
127 ok( $t = $p->get_token);
128 ok( $t && $t->type, 'start');
129 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
131 ok( $t = $p->get_token);
132 ok( $t && $t->type, 'text');
133 ok( $t && $t->type eq 'text' && $t->text, 'NAME' );
137 ###########################################################################
140 print "# Testing another set, at line ", __LINE__, "\n";
142 my $p = Pod::Simple::PullParser->new;
143 $p->set_source( \qq{\n=head1 Bzorch lala\n\n=pod\n\nLala\n\n\=cut\n} );
145 ok $p->get_title(), 'Bzorch lala';
148 ok( $t = $p->get_token);
149 ok( $t && $t->type, 'start');
150 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
152 ok( $t = $p->get_token);
153 ok( $t && $t->type, 'start');
154 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
156 ok( $t = $p->get_token);
157 ok( $t && $t->type, 'text');
158 ok( $t && $t->type eq 'text' && $t->text, 'Bzorch lala' );
162 ###########################################################################
165 print "# Testing another set, at line ", __LINE__, "\n";
167 my $p = Pod::Simple::PullParser->new;
168 $p->set_source( \qq{\n=head1 Bzorch - I<thing> lala\n\n=pod\n\nLala\n\n\=cut\n} );
170 ok $p->get_title(), 'Bzorch - thing lala';
173 ok( $t = $p->get_token);
174 ok( $t && $t->type, 'start');
175 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
177 ok( $t = $p->get_token);
178 ok( $t && $t->type, 'start');
179 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
181 ok( $t = $p->get_token);
182 ok( $t && $t->type, 'text');
183 ok( $t && $t->type eq 'text' && $t->text, 'Bzorch - ' );
186 ###########################################################################
189 print "# Testing another set, at line ", __LINE__, "\n";
191 my $p = Pod::Simple::PullParser->new;
192 $p->set_source( \qq{\n=head1 Nombre (NAME)\n\nBzorch - I<thing> lala\n\n=pod\n\nGrunk\n\n\=cut\n} );
194 ok $p->get_version || '', '';
195 ok $p->get_author || '', '';
197 ok $p->get_title(), 'Bzorch - thing lala';
200 ok( $t = $p->get_token);
201 ok( $t && $t->type, 'start');
202 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
205 ###########################################################################
208 print "# Testing another set, at line ", __LINE__, "\n";
210 my $p = Pod::Simple::PullParser->new;
211 $p->set_source( \qq{\n=head1 ëÏÇÄÁ ÞÉÔÁÌÁ (NAME)\n\nëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading\n\n=pod\n\nGrunk\n\n\=cut\n} );
213 ok $p->get_title(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
216 ok( $t = $p->get_token);
217 ok( $t && $t->type, 'start');
218 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
222 ###########################################################################
225 print "# Testing another set, at line ", __LINE__, "\n";
227 my $p = Pod::Simple::PullParser->new;
228 $p->set_source( \qq{\n=head1 (NAME) ëÏÇÄÁ ÞÉÔÁÌÁ\n\nëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading\n\n=pod\n\nGrunk\n\n\=cut\n} );
230 ok $p->get_title(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
233 ok( $t = $p->get_token);
234 ok( $t && $t->type, 'start');
235 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
239 ###########################################################################
242 print "# Testing another set, at line ", __LINE__, "\n";
244 my $p = Pod::Simple::PullParser->new;
245 $p->set_source( \qq{\n=head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ\n\nëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading\n\n=pod\n\nGrunk\n\n\=cut\n} );
247 ok $p->get_title() || '', '';
248 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
251 ok( $t = $p->get_token);
252 ok( $t && $t->type, 'start');
253 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
256 ###########################################################################
259 print "# Testing another set, at line ", __LINE__, "\n";
261 my $p = Pod::Simple::PullParser->new;
262 $p->set_source( \qq{\n=head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ\n\nëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading\n\n=pod\n\nGrunk\n\n\=cut\n} );
264 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
265 ok $p->get_title() || '', '';
268 ok( $t = $p->get_token);
269 ok( $t && $t->type, 'start');
270 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
274 ###########################################################################
277 print "# Testing another set, at line ", __LINE__, "\n";
279 my $p = Pod::Simple::PullParser->new;
280 $p->set_source( \qq{\n=head1 NAME\n\nThingy\n\n=head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ\n\nëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading\n\n=pod\n\nGrunk\n\n\=cut\n} );
282 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
283 ok $p->get_title(), "Thingy";
286 ok( $t = $p->get_token);
287 ok( $t && $t->type, 'start');
288 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
292 ###########################################################################
295 print "# Testing another set, at line ", __LINE__, "\n";
297 my $p = Pod::Simple::PullParser->new;
298 $p->set_source( \qq{\n=head1 NAME\n\nThingy\n\n=head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ\n\nëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading\n\n=pod\n\nGrunk\n\n\=cut\n} );
300 ok $p->get_title(), "Thingy";
301 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
304 ok( $t = $p->get_token);
305 ok( $t && $t->type, 'start');
306 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
310 ###########################################################################
313 print "# Testing another set, at line ", __LINE__, "\n";
315 my $p = Pod::Simple::PullParser->new;
316 $p->set_source( \qq{\n=head1 (NAME) ÷ÄÁÌÉ ÐÅÒÅÄ\n\nThingy\n\n=head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ\n\nëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading\n\n=pod\n\nGrunk\n\n\=cut\n} );
318 ok $p->get_title(), "Thingy";
319 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
322 ok( $t = $p->get_token);
323 ok( $t && $t->type, 'start');
324 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
328 ###########################################################################
331 print "# Testing another set, at line ", __LINE__, "\n";
333 my $p = Pod::Simple::PullParser->new;
336 =head1 (NAME) ÷ÄÁÌÉ ÐÅÒÅÄ
340 =head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ
342 ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading
351 ok $p->get_title(), "Thingy";
352 ok $p->get_version() || '', '';
353 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
356 ok( $t = $p->get_token);
357 ok( $t && $t->type, 'start');
358 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
362 ###########################################################################
365 print "# Testing another set, at line ", __LINE__, "\n";
367 my $p = Pod::Simple::PullParser->new;
370 =head1 (NAME) ÷ÄÁÌÉ ÐÅÒÅÄ
374 =head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ
376 ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading
394 ok $p->get_title(), "Thingy";
395 my $v = $p->get_version || '';
399 ok $v, "Stuff: Thing\nWhatever: Um.";
400 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
401 ok $p->get_author() || '', 'Jojoj Aarzarz';
405 ok( $t = $p->get_token);
406 ok( $t && $t->type, 'start');
407 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
411 ###########################################################################
413 print "# Testing a title with an X<>, at line ", __LINE__, "\n";
414 my $p = Pod::Simple::PullParser->new;
415 $p->set_source( \qq{\n=head1 NAME Foo Bar\nX<Some entry>\n} );
417 ok $p->get_title(), 'NAME Foo Bar';
420 ###########################################################################
423 print "# Wrapping up... one for the road...\n";
425 print "# --- Done with ", __FILE__, " --- \n";