Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Test2::Tools::Grab(3) User Contributed Perl DocumentationTest2::Tools::Grab(3)

NAME
       Test2::Tools::Grab - Temporarily	intercept all events without adding a
       scope level.

DESCRIPTION
       This package provides a function	that returns an	object that grabs all
       events.	Once the object	is destroyed events will once again be sent to
       the main	hub.

SYNOPSIS
	   use Test2::Tools::Grab;

	   my $grab = grab();

	   # Generate some events, they	are intercepted.
	   ok(1, "pass");
	   ok(0, "fail");

	   my $events_a	= $grab->flush;

	   # Generate some more	events,	they are intercepted.
	   ok(1, "pass");
	   ok(0, "fail");

	   my $events_b	= $grab->finish;

EXPORTS
       $grab = grab()
	   This	lets you intercept all events for a section of code without
	   adding anything to your call	stack. This is useful for things that
	   are sensitive to changes in the stack depth.

	       my $grab	= grab();
		   ok(1, 'foo');
		   ok(0, 'bar');

	       my $events = $grab->finish;

	       is(@$events, 2, "grabbed	2 events.");

	   If the $grab	object is destroyed without calling "finish()",	it
	   will	automatically clean up after itself and	restore	the parent
	   hub.

	       {
		   my $grab = grab();
		   # Things are	grabbed
	       }
	       # Things	are back to normal

	   By default the hub used has "no_ending" set to true.	This will
	   prevent the hub from	enforcing that you issued a plan and ran at
	   least 1 test. You can turn enforcement back one like	this:

	       $grab->hub->set_no_ending(0);

	   With	"no_ending" turned off,	"finish" will run the post-test	checks
	   to enforce the plan and that	tests were run.	In many	cases this
	   will	result in additional events in your events array.

SEE ALSO
       Test2::Util::Grabber - The object constructed and returned by this
       tool.

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

MAINTAINERS
       Chad Granum <exodist@cpan.org>

AUTHORS
       Chad Granum <exodist@cpan.org>

COPYRIGHT
       Copyright 2018 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 v5.32.0			  2020-08-17		 Test2::Tools::Grab(3)

NAME | DESCRIPTION | SYNOPSIS | EXPORTS | SEE ALSO | SOURCE | MAINTAINERS | AUTHORS | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Test2::Tools::Grab&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help