- NAME
- DESCRIPTION
- SYNOPSIS
- METHODS
- SOURCE
- MAINTAINERS
- AUTHORS
- COPYRIGHT

# NAME

Test2::Event::Generic - Generic event type.

# DESCRIPTION

This is a generic event that lets you customize all fields in the event API. This is useful if you have need for a custom event that does not make sense as a published reusable event subclass.

# SYNOPSIS

        use Test2::API qw/context/;

        sub send_custom_fail {
            my $ctx = shift;

            $ctx->send_event('Generic', causes_fail => 1, summary => 'The sky is falling');

            $ctx->release;
        }

        send_custom_fail();

# METHODS

$e->callback($hub)

  Call the custom callback if one is set, otherwise this does nothing.

$e->set_callback(sub { ... })

  Set the custom callback. The custom callback must be a coderef. The first argument to your callback will be the event itself, the second will be the Test2::Event::Hub that is using the callback.

$bool = $e->causes_fail
$e->set_causes_fail($bool)

  Get/Set the `causes_fail` attribute. This defaults to `0`.

$bool = $e->diagnostics
$e->set_diagnostics($bool)

  Get/Set the `diagnostics` attribute. This defaults to `0`.

$bool_or_undef = $e->global
@bool_or_empty = $e->global
$e->set_global($bool_or_undef)

  Get/Set the `diagnostics` attribute. This defaults to an empty list which is undef in scalar context.

$bool = $e->increments_count
$e->set_increments_count($bool)

  Get/Set the `increments_count` attribute. This defaults to `0`.

$bool = $e->no_display
$e->set_no_display($bool)

  Get/Set the `no_display` attribute. This defaults to `0`.

@plan = $e->sets_plan

  Get the plan if this event sets one. The plan is a list of up to 3 items: `($count, $directive, $reason)`. `$count` must be defined, the others may be undef, or may not exist at all.

$e->set_sets_plan(\@plan)

  Set the plan. You must pass in an arrayref with up to 3 elements.

$summary = $e->summary
$e->set_summary($summary_or_undef)

  Get/Set the summary. This will default to the event package `'Test2::Event::Generic'`. You can set it to any value. Setting this to `undef` will reset it to the default.

$int_or_undef = $e->terminate
@int_or_empty = $e->terminate
$e->set_terminate($int_or_undef)

  This will get/set the `terminate` attribute. This defaults to undef in scalar context, or an empty list in list context. Setting this to undef will clear it completely. This must be set to a positive integer (0 or larger).

# SOURCE

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

# MAINTAINERS

Chad Granum <exodist@cpan.org>

# AUTHORS

Chad Granum <exodist@cpan.org>

# COPYRIGHT

Copyright 2016 Chad Granum <exodist@cpan.org>.

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/