10 BEGIN { plan tests => 117 };
12 #use Pod::Simple::Debug (5);
14 #sub Pod::Simple::MANY_LINES () {1}
15 #sub Pod::Simple::PullParser::DEBUG () {3}
18 use Pod::Simple::PullParser;
22 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 ###########################################################################
26 print "# Testing another set, at line ", __LINE__, "\n";
28 my $p = Pod::Simple::PullParser->new;
29 $p->set_source( \qq{\n=head1 NAME\n\nBzorch\n\n=pod\n\nLala\n\n\=cut\n} );
31 ok $p->get_title(), 'Bzorch';
35 ok( $t = $p->get_token);
36 ok( $t && $t->type, 'start');
37 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
39 ok( $t = $p->get_token);
40 ok( $t && $t->type, 'start');
41 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
43 ok( $t = $p->get_token);
44 ok( $t && $t->type, 'text');
45 ok( $t && $t->type eq 'text' && $t->text, 'NAME' );
50 eval { $p->set_source(\'=head1 foo') };
52 ok $@ =~ /\QCannot assign new source to pull parser; create a new instance, instead/;
56 ###########################################################################
59 print "# Testing a set with nocase, at line ", __LINE__, "\n";
60 my $p = Pod::Simple::PullParser->new;
61 $p->set_source( \qq{\n=head1 Name\n\nShazbot\n\n=pod\n\nLala\n\n\=cut\n} );
63 ok $p->get_title(nocase => 1), 'Shazbot';
65 ok( my $t = $p->get_token);
66 ok( $t && $t->type, 'start');
67 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
69 ok( $t = $p->get_token);
70 ok( $t && $t->type, 'start');
71 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
73 ok( $t = $p->get_token);
74 ok( $t && $t->type, 'text');
75 ok( $t && $t->type eq 'text' && $t->text, 'Name' );
79 ###########################################################################
82 print "# Testing another set, at line ", __LINE__, "\n";
84 my $p = Pod::Simple::PullParser->new;
85 $p->set_source( \qq{\n=head1 NE<65>ME\n\nBzorch\n\n=pod\n\nLala\n\n\=cut\n} );
87 ok $p->get_title(), 'Bzorch';
90 ok( $t = $p->get_token);
91 ok( $t && $t->type, 'start');
92 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
94 ok( $t = $p->get_token);
95 ok( $t && $t->type, 'start');
96 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
98 ok( $t = $p->get_token);
99 ok( $t && $t->type, 'text');
104 ###########################################################################
107 print "# Testing another set, at line ", __LINE__, "\n";
110 my $p = Pod::Simple::PullParser->new;
111 $p->set_source( \qq{\n=head1 NAME\n\nBzorch - I<thing> lala\n\n=pod\n\nLala\n\n\=cut\n} );
112 ok $p->get_title(), 'Bzorch - thing lala';
116 my $p = Pod::Simple::PullParser->new;
117 $p->set_source( \qq{\n=head1 NAME\n\nBzorch - I<thing> lala\n\n=pod\n\nLala\n\n\=cut\n} );
118 ok $p->get_title(), 'Bzorch - thing lala';
122 ok( $t = $p->get_token);
123 ok( $t && $t->type, 'start');
124 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
126 ok( $t = $p->get_token);
127 ok( $t && $t->type, 'start');
128 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
130 ok( $t = $p->get_token);
131 ok( $t && $t->type, 'text');
132 ok( $t && $t->type eq 'text' && $t->text, 'NAME' );
136 ###########################################################################
139 print "# Testing another set, at line ", __LINE__, "\n";
141 my $p = Pod::Simple::PullParser->new;
142 $p->set_source( \qq{\n=head1 Bzorch lala\n\n=pod\n\nLala\n\n\=cut\n} );
144 ok $p->get_title(), 'Bzorch lala';
147 ok( $t = $p->get_token);
148 ok( $t && $t->type, 'start');
149 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
151 ok( $t = $p->get_token);
152 ok( $t && $t->type, 'start');
153 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
155 ok( $t = $p->get_token);
156 ok( $t && $t->type, 'text');
157 ok( $t && $t->type eq 'text' && $t->text, 'Bzorch lala' );
161 ###########################################################################
164 print "# Testing another set, at line ", __LINE__, "\n";
166 my $p = Pod::Simple::PullParser->new;
167 $p->set_source( \qq{\n=head1 Bzorch - I<thing> lala\n\n=pod\n\nLala\n\n\=cut\n} );
169 ok $p->get_title(), 'Bzorch - thing lala';
172 ok( $t = $p->get_token);
173 ok( $t && $t->type, 'start');
174 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
176 ok( $t = $p->get_token);
177 ok( $t && $t->type, 'start');
178 ok( $t && $t->type eq 'start' && $t->tagname, 'head1' );
180 ok( $t = $p->get_token);
181 ok( $t && $t->type, 'text');
182 ok( $t && $t->type eq 'text' && $t->text, 'Bzorch - ' );
185 ###########################################################################
188 print "# Testing another set, at line ", __LINE__, "\n";
190 my $p = Pod::Simple::PullParser->new;
191 $p->set_source( \qq{\n=head1 Nombre (NAME)\n\nBzorch - I<thing> lala\n\n=pod\n\nGrunk\n\n\=cut\n} );
193 ok $p->get_version || '', '';
194 ok $p->get_author || '', '';
196 ok $p->get_title(), 'Bzorch - thing lala';
199 ok( $t = $p->get_token);
200 ok( $t && $t->type, 'start');
201 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
204 ###########################################################################
207 print "# Testing another set, at line ", __LINE__, "\n";
209 my $p = Pod::Simple::PullParser->new;
210 $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} );
212 ok $p->get_title(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
215 ok( $t = $p->get_token);
216 ok( $t && $t->type, 'start');
217 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
221 ###########################################################################
224 print "# Testing another set, at line ", __LINE__, "\n";
226 my $p = Pod::Simple::PullParser->new;
227 $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} );
229 ok $p->get_title(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
232 ok( $t = $p->get_token);
233 ok( $t && $t->type, 'start');
234 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
238 ###########################################################################
241 print "# Testing another set, at line ", __LINE__, "\n";
243 my $p = Pod::Simple::PullParser->new;
244 $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} );
246 ok $p->get_title() || '', '';
247 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
250 ok( $t = $p->get_token);
251 ok( $t && $t->type, 'start');
252 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
255 ###########################################################################
258 print "# Testing another set, at line ", __LINE__, "\n";
260 my $p = Pod::Simple::PullParser->new;
261 $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} );
263 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
264 ok $p->get_title() || '', '';
267 ok( $t = $p->get_token);
268 ok( $t && $t->type, 'start');
269 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
273 ###########################################################################
276 print "# Testing another set, at line ", __LINE__, "\n";
278 my $p = Pod::Simple::PullParser->new;
279 $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} );
281 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
282 ok $p->get_title(), "Thingy";
285 ok( $t = $p->get_token);
286 ok( $t && $t->type, 'start');
287 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
291 ###########################################################################
294 print "# Testing another set, at line ", __LINE__, "\n";
296 my $p = Pod::Simple::PullParser->new;
297 $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} );
299 ok $p->get_title(), "Thingy";
300 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
303 ok( $t = $p->get_token);
304 ok( $t && $t->type, 'start');
305 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
309 ###########################################################################
312 print "# Testing another set, at line ", __LINE__, "\n";
314 my $p = Pod::Simple::PullParser->new;
315 $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} );
317 ok $p->get_title(), "Thingy";
318 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
321 ok( $t = $p->get_token);
322 ok( $t && $t->type, 'start');
323 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
327 ###########################################################################
330 print "# Testing another set, at line ", __LINE__, "\n";
332 my $p = Pod::Simple::PullParser->new;
335 =head1 (NAME) ÷ÄÁÌÉ ÐÅÒÅÄ
339 =head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ
341 ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading
350 ok $p->get_title(), "Thingy";
351 ok $p->get_version() || '', '';
352 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
355 ok( $t = $p->get_token);
356 ok( $t && $t->type, 'start');
357 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
361 ###########################################################################
364 print "# Testing another set, at line ", __LINE__, "\n";
366 my $p = Pod::Simple::PullParser->new;
369 =head1 (NAME) ÷ÄÁÌÉ ÐÅÒÅÄ
373 =head1 (DESCRIPTION) ëÏÇÄÁ ÞÉÔÁÌÁ
375 ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's I<"When you were> reading
393 ok $p->get_title(), "Thingy";
394 my $v = $p->get_version || '';
398 ok $v, "Stuff: Thing\nWhatever: Um.";
399 ok $p->get_description(), q{ëÏÇÄÁ ÞÉÔÁÌÁ ÔÙ ÍÕÞÉÔÅÌØÎÙÅ ÓÔÒÏËÉ -- Fet's "When you were reading};
400 ok $p->get_author() || '', 'Jojoj Aarzarz';
404 ok( $t = $p->get_token);
405 ok( $t && $t->type, 'start');
406 ok( $t && $t->type eq 'start' && $t->tagname, 'Document' );
410 ###########################################################################
412 print "# Testing a title with an X<>, at line ", __LINE__, "\n";
413 my $p = Pod::Simple::PullParser->new;
414 $p->set_source( \qq{\n=head1 NAME Foo Bar\nX<Some entry>\n} );
416 ok $p->get_title(), 'NAME Foo Bar';
419 ###########################################################################
422 print "# Wrapping up... one for the road...\n";
424 print "# --- Done with ", __FILE__, " --- \n";