Dist::Zilla::Plugin::Test::Inline

- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
  - Files to be scanned for inline tests
- METHODS
  - gather_files
  - register_prereqs
- ACKNOWLEDGEMENTS
- AUTHOR
- COPYRIGHT AND LICENSE

# NAME

Dist::Zilla::Plugin::Test::Inline - Create test files from inline tests in POD sections

# VERSION

version 0.011005

# SYNOPSIS

In your `dist.ini`:

            [Test::Inline]

In your module:

            # My/AddressRange.pm

            =begin testing

            use Test::Exception;
            dies_ok {
                    My::AddressRange->list_from_range('10.2.3.A', '10.2.3.5')
            } "list_from_range() complains about invalid address";

            =end testing

            =cut

            sub list_from_range {
                    # ...
            }

This will result in a file `t/inline-tests/my_addressrange.t` in your distribution.

# DESCRIPTION

This plugin integrates Test::Inline into `Dist::Zilla`.

It scans all non-binary files in the lib path of your distribution for inline tests in POD sections that are embedded between the keywords

            =begin testing
            ...
            =end testing

These tests are then exported into `t/inline-tests/*.t` files when `Dist::Zilla` builds your module. Multiple of test sections may be specified within one file.

Please note that this plugin (in contrast to pure Test::Inline) can also handle Moops-like class and role definitions.

## Files to be scanned for inline tests

Only files already gathered by previous file gatherer plugins are scanned. In other words: tests will not be extracted for files which have been excluded.

Example:

            [GatherDir]
            exclude_match = Hidden\.pm
            [Test::Inline]

This will lead to `Dist::Zilla::Plugin::Test::Inline` ignoring `Hidden.pm`.

# METHODS

## gather_files

Required by role Dist::Zilla::Role::FileGatherer.

Searches for inline test code in POD sections using Test::Inline, creates in-memory test files and passes them to Dist::Zilla.

## register_prereqs

Required by role Dist::Zilla::Role::PrereqSource.

Adds Test::More to the list of prerequisites (as Test::Inline inserts `use Test::More;`) for the distribution that uses this plugin.

# ACKNOWLEDGEMENTS

The code of this Dist::Zilla file gatherer plugin is based on https://github.com/moose/moose/blob/master/inc/ExtractInlineTests.pm.

- Dave Rolsky <autarch@urth.org>, who basically wrote most of this but left the honor of making a plugin out of it to me ;-)

# AUTHOR

Jens Berthold <jens.berthold@jebecs.de>

# COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Jens Berthold.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.