Perl Diver 2.31
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Test2::API::Stack

Name Test2::API::Stack
Version 1.302188
Located at /usr/local/share/perl5
File /usr/local/share/perl5/Test2/API/Stack.pm
Is Core No
Search CPAN for this module Test2::API::Stack
Documentation Test2::API::Stack
Module Details Test2::API::Stack


NAME

Test2::API::Stack - Object to manage a stack of the Test2::Hub manpage instances.


***INTERNALS NOTE***

The internals of this package are subject to change at any time! The public methods provided will not change in backwards incompatible ways, but the underlying implementation details might. Do not break encapsulation here!


DESCRIPTION

This module is used to represent and manage a stack of the Test2::Hub manpage objects. Hubs are usually in a stack so that you can push a new hub into place that can intercept and handle events differently than the primary hub.


SYNOPSIS

    my $stack = Test2::API::Stack->new;
    my $hub = $stack->top;


METHODS

$stack = Test2::API::Stack->new()
This will create a new empty stack instance. All arguments are ignored.

$hub = $stack->new_hub()
$hub = $stack->new_hub(%params)$hub = $stack->new_hub(%params)
$hub = $stack->new_hub(%params, class => $class)$hub = $stack->new_hub(%params, class => $class)
This will generate a new hub and push it to the top of the stack. Optionally you can provide arguments that will be passed into the constructor for the the Test2::Hub manpage object.

If you specify the 'class' => $class argument, the new hub will be an instance of the specified class.

Unless your parameters specify 'formatter' or 'ipc' arguments, the formatter and IPC instance will be inherited from the current top hub. You can set the parameters to undef to avoid having a formatter or IPC instance.

If there is no top hub, and you do not ask to leave IPC and formatter undef, then a new formatter will be created, and the IPC instance from the Test2::API manpage will be used.

$hub = $stack->top()
This will return the top hub from the stack. If there is no top hub yet this will create it.

$hub = $stack->peek()
This will return the top hub from the stack. If there is no top hub yet this will return undef.

$stack->cull
This will call $hub->cull on all hubs in the stack.

@hubs = $stack->all
This will return all the hubs in the stack as a list.

$stack->clear
This will completely remove all hubs from the stack. Normally you do not want to do this, but there are a few valid reasons for it.

$stack->push($hub)
This will push the new hub onto the stack.

$stack->pop($hub)
This will pop a hub from the stack, if the hub at the top of the stack does not match the hub you expect (passed in as an argument) it will throw an exception.


SOURCE

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


MAINTAINERS

Chad Granum


AUTHORS

Chad Granum <exodist@cpan.org>Chad Granum


COPYRIGHT

Copyright 2020 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/

Perl Diver brought to you by ScriptSolutions.com © 1997- 2024