Test::MetaSyntactic






Test::MetaSyntactic − Common tests for Acme::MetaSyntactic
themes


   # add this as t/meta.t
   use Test::MetaSyntatic;
   all_themes_ok();

This module provides the minimum set of tests that any
Acme::MetaSyntactic theme should pass.

     The goal is to make is easier for theme creators build
a distribution and ensure theirs themes will work as
expected when installed.

Will find all themes under the directories listed in @lib,
and run "theme_ok()" on them.

     @lib is optional (it will try to find themes in
blib/lib or lib if not provided).  Will run all tests on the
given $theme. Some tests require access to the source, but
they will be skipped if $source is not provided.

     If the "subtest_load()" test fails, no further test
will be run.

The individual tests are run as subtests. All substests but
"subtest_load()" assume that the module can be successfully
loaded.  Checks that the theme source file does not contain
the word "FIXME".  Checks that the theme source files
contains an "=encoding" line if it contains some non us‐
ascii characters.  Tries to load the theme module.

     First in the currently running process, and then in
isolation inside its own environment.  Checks that the theme
has a $VERSION.  Checks that each metasyntactic name in the
theme is a valid Perl variable name.  Checks that each name
in the theme has valid length.  Checks that the "__DATA__"
section (if any) of the theme source is properly formatted.
Checks that the exported "meta$theme" function returns an
item from $theme.  Checks that "use
Acme::MetaSyntactic::$theme ()" does not export the
"meta$theme" function.  Checks that the "theme()" function
returns the theme name.  For themes with a remote list,
checks that the remote list (if any) is identical to the
current list of items in the theme.

     This subtest will only be run if "RELEASE_TESTING" (or
"AUTHOR_TESTING", for backward compatibility reasons) is
true and "AUTOMATED_TESTING" is false. Requires
LWP::UserAgent.












                             ‐2‐


Philippe Bruhat (BooK), "<book@cpan.org>"

Copyright 2012−2017 Philippe Bruhat (BooK), All Rights
Reserved.

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