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

NAME

Test2::Bundle::Extended - The bundle used by the Test2 Author.

EXPERIMENTAL RELEASE

This is an experimental release. Using this right now is not recommended.

DESCRIPTION

This is the big-daddy bundle. This bundle includes nearly every tool, and several plugins, that the Test2 Author himself uses. This bundle is used extensively to test Test2::Suite itself.

SYNOPSYS

    use Test2::Bundle::Extended;

    ok(1, "pass");

    ...

    done_testing;

PRAGMAS

All of these can be disabled via individual import arguments, or by the -no_pragmas argument.

    use Test2::Bundle::Extended -no_pragmas => 1;

STRICT

strict is turned on for you. You can disable this with the -no_strict or -no_pragmas import arguments:

    use Test2::Bundle::Extended -no_strict => 1;

WARNINGS

warnings are turned on for you. You can disable this with the -no_warnings or -no_pragmas import arguments:

    use Test2::Bundle::Extended -no_warnings => 1;

UTF8

This is actually done via the Test2::Plugin::UTF8 plugin, see the "PLUGINS" section for details.

Note: -no_pragmas => 1 will turn off the entire plugin.

PLUGINS

SRAND

See Test2::Plugin::SRand.

This will set the random see dot todays date. You can provide an alternate seed with the -srand import option:

    use Test2::Bundle::Extended -srand => 1234;

UTF8

See Test2::Plugin::UTF8.

This will set the file, and all output handles (including formatter handles) to utf8. This will turn on the utf8 pragma for the current scope.

This can be disabled using the -no_utf8 => 1 or -no_pragmas => 1 import arguments.

    use Test2::Bundle::Extended -no_utf8 => 1;

EXIT SUMMARRY

See Test2::Plugin::ExitSummary.

This plugin has no configuration.

API FUNCTIONS

See Test2::API for these

$ctx = context()
$events = intercept { ... }

TOOLS

TARGET

See Test2::Tools::Target.

You can specify a target class with the -target import argument. If you do not provide a target then $CLASS and CLASS() will not be imported.

    use Test2::Bundle::Extended -target => 'My::Class';
$CLASS

Package variable that contains the target class name.

$class = CLASS()

Constant function that returns the target class name.

DEFER

See Test2::Tools::Defer.

def $func => @args;
do_def()

BASIC

See Test2::Tools::Basic.

ok($bool, $name)
pass($name)
fail($name)
diag($message)
note($message)
$todo = todo($reason)
todo $reason => sub { ... }
skip($reason, $count)
plan($count)
skip_all($reason)
done_testing()
bail_out($reason)

COMPARE

See Test2::Tools::Compare.

is($got, $want, $name)
isnt($got, $do_not_want, $name)
like($got, qr/match/, $name)
unlike($got, qr/mismatch/, $name)
$check = match(qr/pattern/)
$check = mismatch(qr/pattern/)
$check = validator(sub { return $bool })
$check = hash { ... }
$check = array { ... }
$check = object { ... }
$check = meta { ... }
$check = number($num)
$check = string($str)
$check = in_set(@things)
$check = not_in_set(@things)
$check = check_set(@things)
$check = item($thing)
$check = item($idx => $thing)
$check = field($name => $val)
$check = call($method => $expect)
$check = prop($name => $expect)
$check = check($thing)
$check = end()
$check = T()
$check = F()
$check = D()
$check = DNE()
$check = FDNE()
$check = exact_ref($ref)
filter_items { grep { ... } @_ }
$check = event $type => ...
@checks = fail_events $type => ...

CLASSIC COMPARE

See Test2::Tools::ClassicCompare.

cmp_ok($got, $op, $want, $name)

SUBTEST

See Test2::Tools::Subtest.

subtest $name => sub { ... }

(Note: This is called subtest_buffered() in the tools module.)

CLASS

See Test2::Tools::Class.

can_ok($thing, @methods)
isa_ok($thing, @classes)
DOES_ok($thing, @roles)

ENCODING

See Test2::Tools::Encoding.

set_encoding($encoding)

EXPORTS

See Test2::Tools::Exports.

imported_ok('function', '$scalar', ...)
not_imported_ok('function', '$scalar', ...)

REF

See Test2::Tools::Ref.

ref_ok($ref, $type)
ref_is($got, $want)
ref_is_not($got, $do_not_want)

MOCK

See Test2::Tools::Mock.

$control = mock ...
$bool = mocked($thing)

SOURCE

The source code repository for Test2-Suite can be found at http://github.com/Test-More/Test2-Suite/.

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Copyright 2015 Chad Granum <exodist7@gmail.com>.

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

See http://dev.perl.org/licenses/