my $pod = get_raw_pod_section_from_string( $code, 'SYNOPSIS' );
is(
$pod,
undef,
q<get_raw_pod_section_from_string('=pod', 'SYNOPSIS')>,
);
$pod = get_pod_section_from_string( $code, 'SYNOPSIS' );
is(
$pod,
undef,
q<get_pod_section_from_string('=pod', 'SYNOPSIS')>,
);
}
{ my $code = <<'END_CODE'; =pod
FOO
Some plain text.
FOO
Some plain text.
END_EXPECTED is( $pod, $expected, q<get_raw_pod_section_from_string('=head1 FOO Some plain text.', 'FOO')>, );
$pod = get_pod_section_from_string( $code, 'FOO' );
$expected = <<'END_EXPECTED';
FOO
Some plain text.
END_EXPECTED is( $pod, $expected, q<get_pod_section_from_string('=head1 FOO Some plain text.', 'FOO')>, ); }
{ my $code = <<'END_CODE'; =pod
FOO
Some escaped
text.
FOO
Some escaped
text.
END_EXPECTED is( $pod, $expected, q/get_raw_pod_section_from_string('=head1 FOO Some escaped
text.', 'FOO')/, );
$pod = get_pod_section_from_string( $code, 'FOO' );
$expected = <<'END_EXPECTED';
FOO
Some `escaped' text.
END_EXPECTED is( $pod, $expected, q/get_pod_section_from_string('=head1 FOO Some escaped
text.', 'FOO')/, ); }
{ my $code = <<'END_CODE'; =pod
FOO
Some plain text.
BAR
FOO
Some plain text.
END_EXPECTED is( $pod, $expected, q<get_raw_pod_section_from_string('=head1 FOO ... =head1 BAR', 'FOO')>, );
$pod = get_pod_section_from_string( $code, 'FOO' );
$expected = <<'END_EXPECTED';
FOO
Some plain text.
END_EXPECTED is( $pod, $expected, q<get_pod_section_from_string('=head1 FOO ... =head1 BAR', 'FOO')>, ); }
{ my $code = <<'END_CODE'; =pod
FOO
Some plain text.
BAR
FOO
Some plain text.
BAR
END_EXPECTED is( $pod, $expected, q<get_raw_pod_section_from_string('=head1 FOO ... =head2 BAR', 'FOO')>, );
$pod = get_pod_section_from_string( $code, 'FOO' );
$expected = <<'END_EXPECTED';
FOO
Some plain text.
BAR
END_EXPECTED is( $pod, $expected, q<get_pod_section_from_string('=head1 FOO ... =head2 BAR', 'FOO')>, ); }
{ my $code = <<'END_CODE'; =pod
FOO
Some plain text.
LYRICS
We like talking dirty. We smoke and we drink. We're KMFDM and all other bands stink.
END_POD
my $trimmed = trim_raw_pod_section( $original );
my $expected =
q<We like talking dirty. We smoke and we drink. >
. qq<We're KMFDM and all other bands\n>
. q<stink.>;
is(
$trimmed,
$expected,
'trim_raw_pod_section() with section header',
);
$trimmed = trim_pod_section( $original );
is(
$trimmed,
$expected,
'trim_pod_section() with section header',
);
}
{ my $original = <<'END_VOCAL_SAMPLE';
You see, I believe in the noble, aristocratic art of doin' absolutely nothin'. And I hope someday to be in a position where I can do even less.
END_VOCAL_SAMPLE
my $trimmed = trim_raw_pod_section( $original );
my $expected =
q<You see, I believe in the noble, aristocratic art of doin' >
. qq<absolutely nothin'.\n>
. q<And I hope someday to be in a position where I can do even >
. q<less.>;
is(
$trimmed,
$expected,
'trim_raw_pod_section() without section header',
);
$trimmed = trim_pod_section( $original );
is(
$trimmed,
$expected,
'trim_pod_section() without section header',
);
}
{ my $original = <<'END_INDENTATION';
Some indented text.
END_INDENTATION
my $trimmed = trim_raw_pod_section( $original );
my $expected = q<Some indented text.>;
is(
$trimmed,
$expected,
'trim_raw_pod_section() indented',
);
$trimmed = trim_pod_section( $original );
$expected = q< > . $expected;
is(
$trimmed,
$expected,
'trim_pod_section() indented',
);
}
#-----------------------------------------------------------------------------
{ my $source = <<'END_MODULE';
NAME
A::Stupendous::Module - An abstract.
END_MODULE
my $expected = q<An abstract.>;
my $result = get_raw_module_abstract_from_string( $source );
is(
$result,
$expected,
q<get_raw_module_abstract_from_string() with proper abstract>,
);
$result = get_module_abstract_from_string( $source );
is(
$result,
$expected,
q<get_module_abstract_from_string() with proper abstract>,
);
}
{ my $source = <<'END_MODULE';
NAME
A::Stupendous::Code::Module - An abstract involving $code
.
END_MODULE
my $expected = q<An abstract involving C<$code>.>; ## no critic (RequireInterpolationOfMetachars)
my $result = get_raw_module_abstract_from_string( $source );
is(
$result,
$expected,
q<get_raw_module_abstract_from_string() with proper abstract>,
);
$expected = q<An abstract involving `$code'.>; ## no critic (RequireInterpolationOfMetachars)
$result = get_module_abstract_from_string( $source );
is(
$result,
$expected,
q<get_module_abstract_from_string() with proper abstract>,
);
}
{ my $source = <<'END_MODULE';
NOT NAME
There's nobody home.
END_MODULE
my $result = get_raw_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_raw_module_abstract_from_string() with no name section>,
);
$result = get_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_module_abstract_from_string() with no name section>,
);
}
{ my $source = <<'END_MODULE';
NAME
DESCRIPTION
END_MODULE
my $result = get_raw_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_raw_module_abstract_from_string() without NAME section content>,
);
$result = get_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_module_abstract_from_string() without NAME section content>,
);
}
{ my $source = <<'END_MODULE';
NAME
A::Not::So::Stupendous::Module
END_MODULE
my $result = get_raw_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_raw_module_abstract_from_string() with no abstract>,
);
$result = get_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_module_abstract_from_string() with no abstract>,
);
}
{ my $source = <<'END_MODULE';
NAME
A::Not::So::Stupendous::Module -
END_MODULE
my $result = get_raw_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_raw_module_abstract_from_string() with hyphen but no abstract>,
);
$result = get_module_abstract_from_string( $source );
is(
$result,
undef,
q<get_module_abstract_from_string() with hyphen but no abstract>,
);
}
{ my $source = <<'END_MODULE';
NAME
A::Not::So::Stupendous::Module No hyphen.
END_MODULE
test_exception_from_get_raw_module_abstract_from_string(
$source, q<with abstract but no hyphen>,
);
test_exception_from_get_module_abstract_from_string(
$source, q<with abstract but no hyphen>,
);
}
{ my $source = <<'END_MODULE';
NAME
A::Not::So::Stupendous::Module -- Double hyphen.
END_MODULE
test_exception_from_get_raw_module_abstract_from_string(
$source, q<with double hyphen>,
);
test_exception_from_get_module_abstract_from_string(
$source, q<with double hyphen>,
);
}
{ my $source = <<'END_MODULE';
NAME
A::Not::So::Stupendous::Module - Abstract goes across multiple lines.
END_MODULE
test_exception_from_get_raw_module_abstract_from_string(
$source, q<with multiple lines>,
);
# Cannot do this test: Pod::PlainText merges the lines. # test_exception_from_get_module_abstract_from_string( # $source, q<with multiple lines>, # ); }
#-----------------------------------------------------------------------------
sub test_exception_from_get_raw_module_abstract_from_string { my ($source, $name) = @_;
my $result;
my $message_like_name =
qq<Got expected message for get_raw_module_abstract_from_string() $name>;
local $EVAL_ERROR = undef;
eval {
$result = get_raw_module_abstract_from_string( $source );
};
_test_exception_from_get_module_abstract_from_string(
$source, $name, $result, $message_like_name,
);
return;
}
sub test_exception_from_get_module_abstract_from_string { my ($source, $name) = @_;
my $result;
my $message_like_name =
qq<Got expected message for get_module_abstract_from_string() $name>;
local $EVAL_ERROR = undef;
eval {
$result = get_module_abstract_from_string( $source );
};
_test_exception_from_get_module_abstract_from_string(
$source, $name, $result, $message_like_name,
);
return;
}
sub _test_exception_from_get_module_abstract_from_string { my ($source, $name, $result, $message_like_name) = @_;
my $eval_error = $EVAL_ERROR;
my $exception = Perl::Critic::Exception::Fatal::Generic->caught();
if (
ok(
ref $exception,
qq<Got the right kind of exception for get_module_abstract_from_string() $name>,
)
) {
like( $exception->message(), $EXCEPTION_MESSAGE_REGEX, $message_like_name );
}
else {
diag( 'Result: ', (defined $result ? ">$result<" : '<undef>') );
if ($eval_error) {
diag(
qq<However, did get an exception: $eval_error>,
);
like( $eval_error, $EXCEPTION_MESSAGE_REGEX, $message_like_name );
}
else {
fail($message_like_name);
}
}
return;
}
#-----------------------------------------------------------------------------
# ensure we run true if this test is loaded by # t/05_utils_pod.t_without_optional_dependencies.t 1;
# Local Variables: # mode: cperl # cperl-indent-level: 4 # fill-column: 78 # indent-tabs-mode: nil # c-indentation-style: bsd # End: # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 81:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content