The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::Auto::Document

ABSTRACT

Documentation Generator

SYNOPSIS

  package main;

  use Test::Auto;
  use Test::Auto::Parser;
  use Test::Auto::Document;

  my $test = Test::Auto->new(
    't/Test_Auto.t'
  );

  my $parser = Test::Auto::Parser->new(
    source => $test
  );

  my $doc = Test::Auto::Document->new(
    parser => $parser
  );

  # render documentation

  # $doc->render

DESCRIPTION

This package use the Test::Auto::Parser object to generate a valid Perl 5 POD document.

LIBRARIES

This package uses type constraints from:

Data::Object::Library

ATTRIBUTES

This package has the following attributes:

content

  content(ArrayRef[Str])

This attribute is read-only, accepts (ArrayRef[Str]) values, and is optional.

parser

  parser(InstanceOf["Test::Auto::Parser"])

This attribute is read-only, accepts (InstanceOf["Test::Auto::Parser"]) values, and is required.

template

  template(Maybe[Str])

This attribute is read-only, accepts (Maybe[Str]) values, and is optional.

METHODS

This package implements the following methods:

render

  render() : Str

This method returns a string representation of a valid POD document. You can also provide a template to wrap the generated document by passing it to the constructor or specifying it in the TEST_AUTO_TEMPLATE environment variable.

render example #1
  # given: synopsis

  my $rendered = $doc->render;
render example #2
  # given: synopsis

  $ENV{TEST_AUTO_TEMPLATE} = './t/Test_Template.pod';

  # where ./TEMPLATE has a {content} placeholder

  my $rendered = $doc->render;

  undef $ENV{TEST_AUTO_TEMPLATE};

  $rendered;
render example #3
  # given: synopsis

  my $tmpl = Test::Auto::Document->new(
    parser => $parser,
    template => './t/Test_Template.pod'
  );

  my $rendered = $tmpl->render;