1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
#!perl
use strict;
use warnings;
# PURPOSE:
# show that pod-like regions have Ordinary text paragraphs and non-pod-like
# regions have data paragraphs
use Test::More;
use Test::Differences;
use Pod::Eventual::Simple;
use Pod::Elemental;
use Pod::Elemental::Transformer::Pod5;
sub _pod5 { "Pod::Elemental::Element::Pod5::$_[0]" }
my $str = do { local $/; <DATA> };
my $document = Pod::Elemental::Transformer::Pod5->transform_node(
Pod::Elemental->read_string($str),
);
my @children = grep { ! $_->isa('Pod::Elemental::Element::Generic::Blank') }
@{ $document->children };
is(@children, 2, "two top-level elements");
isa_ok($children[0], _pod5('Ordinary'), "...first top-level text");
isa_ok($children[1], _pod5('Region'), "...second top-level para");
{
# region contents
my @children = grep { ! $_->isa('Pod::Elemental::Element::Generic::Blank') }
@{ $children[1]->children };
is(@children, 5, "top-level-contained region has five non-blanks");
isa_ok($children[0], _pod5('Ordinary'), "...1st second-level para");
isa_ok($children[1], _pod5('Verbatim'), "...2nd second-level para");
isa_ok($children[2], _pod5('Ordinary'), "...3rd second-level para");
isa_ok($children[3], _pod5('Region'), "...4th second-level para");
isa_ok($children[4], _pod5('Ordinary'), "...5th second-level para");
}
done_testing;
__DATA__
=pod
Ordinary Paragraph
=begin :pod_like
Ordinary Paragraph
Verbatim Paragraph
Ordinary Paragraph
=begin nonpod
Data Paragraph
=end nonpod
Ordinary Paragraph
=end :pod_like
|