Doc-Simply
view release on metacpan or search on metacpan
t/004-parser.t view on Meta::CPAN
use strict;
use warnings;
use Test::Most;
use t::Test;
use Doc::Simply;
use Doc::Simply::Extractor;
use Doc::Simply::Assembler;
use Doc::Simply::Parser;
plan qw/no_plan/;
sub normalize {
local $_ = shift;
return join "\n", map { s/^\s*//; s/\s*$//; $_ } split m/\n/;
}
{
my $content;
my $source = <<'_END_';
/*
* @head2 This is a node
*/
// This should not be
_END_
my $extractor = Doc::Simply::Extractor::SlashStar->new;
my $comments = $extractor->extract($source);
my $assembler = Doc::Simply::Assembler->new;
my $blocks = $assembler->assemble($comments);
my $parser = Doc::Simply::Parser->new;
my $document = $parser->parse($blocks);
like($content = $document->root->content_from, qr{
\Qroot\E\s*
\Qhead2 This is a node\E\s*
\Qbody\E\s*
}sx);
}
{
my $content;
my $source = <<'_END_';
/*
* @head2 Icky nesting
* Some content
*
* @head1 Hello, World.
*
* @head2 Yikes.
* Some more content
* With some *markdown* content!
*
* And some more
* And some inline code
*
*/
/* Ignore this...
*/
/* @body
* ...but grab **this**!
*/
// Another ignoreable comment
_END_
my $extractor = Doc::Simply::Extractor::SlashStar->new;
my $comments = $extractor->extract($source);
( run in 1.933 second using v1.01-cache-2.11-cpan-71847e10f99 )