When
NAME
Test::Async::When - add :when key to plan
SYNOPSIS
Whole top suite:
use Test::Async <When Base>;
    plan :when(<release>);
Or a subtest only:
use Test::Async <When Base>;
    subtest "Might be skipped" => {
        plan :when(
                :all(
                    :any(<release author>),
                    :module<Optional::Module>));
        ...
    }
}
This bundle extends plan with additional parameter :when which defines when the suite is to be actually ran. If
when condition is not fulfilled the suite is skipped. The condition is a nested combination of keys and values:
- a string value means a name of a testing mode enabled with an environment variable. Simply put, it gets uppercased, appended with _TESTING and the resulting name is checked against - %*ENV. If the string is already ending with _TESTING it is used as-is.
- a pair with - envkey tests for a environment variable. The variable name is used as-is, with no manipulations done to it.
- a pair with - modulekey tests if a module with the given name is available
- a pair with keys - anyor- allbasically means that either any of it subcondition or all of them are to be fulfilled
- a pair with - nonekey means all of its sunconditions must fail.
By default the topmost condition means any, so that the following two statements are actually check the same
condition:
plan :when<release author>;
    plan :when(:any<release author>);
SEE ALSO
AUTHOR
Vadim Belman <[email protected]>