The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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:

Test::Auto::Types

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(Parser)

This attribute is read-only, accepts (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 ./t/Test_Template.pod 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;

AUTHOR

Al Newkirk, awncorp@cpan.org

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".

PROJECT

Wiki

Project

Initiatives

Milestones

Issues