1use strict; 2use warnings; 3use Test::More tests => 7; 4use Data::Dumper; 5 6my $i = 0; 7 8print "# Real closers ...\n"; 9 10for my $pod ( "=over\n\nblock\n\n=back", 11 "=over\n\nblock\n\n=cut\n\ncode\n\n=pod\n\n=back", 12 "=begin html\n\ntag\n\n=end html", 13 ) { 14 my $parser = Pod::Simple::Blurb->new(); 15 $parser->parse_string_document($pod); 16 is($parser->{'closer-flag'}, -1, "real closer ". ++$i); 17} 18 19$i = 0; 20 21print "# Fake closers ...\n"; 22 23for my $pod ("=begin html\n\ntag=cut", 24 "=begin html\n\ntag\n\n=begin xml tag =end xml", 25 "=over\n\nblock=cut", 26 "=over\n\nanother block", 27 ) { 28 my $parser = Pod::Simple::Blurb->new(); 29 $parser->parse_string_document($pod); 30 is($parser->{'closer-flag'}, 1, "fake closer ". ++$i); 31} 32 33package Pod::Simple::Blurb; 34use warnings; 35use strict; 36use base qw/Pod::Simple::Methody/; 37 38sub new { 39 my $new = shift->SUPER::new(@_); 40 $new->output_string(\my $doesnotmatter); 41 $new->accept_targets('*'); 42 return $new; 43} 44 45sub end_over_block { 46 shift->set(@_); 47} 48sub end_for { 49 shift->set(@_); 50} 51 52sub set { 53 $_[0]{'closer-flag'} = defined $_[1]{'fake-closer'} ? 1 : -1; 54} 55