NAME
Test::Stream::Exporter - Declarative exporter for Test::Stream and friends.
DESCRIPTION
Test::Stream::Exporter is an internal implementation of some key features from Exporter::Declare. This is a much more powerful exporting tool than Exporter. This package is used to easily manage complicated EXPORT logic across Test::Stream and friends.
SYNOPSYS
use Test::Stream::Exporter;
# Export some named subs from the package
default_exports qw/foo bar baz/;
exports qw/fluxx buxx suxx/;
# Export some anonymous subs under specific names.
export some_tool => sub { ... };
default_export another_tool => sub { ... };
# Call this when you are done providing exports in order to cleanup your
# namespace.
Test::Stream::Exporter->cleanup;
# Hooks for import()
# Called before importing symbols listed in $args_ref. This gives you a
# chance to munge the arguments.
sub before_import {
my $class = shift;
my ($caller, $args_ref) = @_;
...
return $stash; # For use in after_import, can be anything
}
# Chance to do something after import() is done
sub after_import {
my $class = shift;
my ($caller, $stash, @args) = @_;
...
}
EXPORTS
DEFAULT
- import
-
Your class needs this to function as an exporter.
- export NAME => sub { ... }
- default_export NAME => sub { ... }
-
These are used to define exports that may not actually be subs in the current package.
- exports qw/foo bar baz/
- default_exports qw/foo bar baz/
-
These let you export package subs en mass.
AVAILABLE
- export_to($from, $dest, @symbols)
- $from->export_to($dest, @symbols)
-
Export from the
$from
package into the$dest
package. The class-method form only works if the method has been imported into the$from
package. - $meta = export_meta($package)
- $meta = $package->export_meta()
-
Get the export meta object from the package. The class method form only works if the package has imported it.
HOOKS
SOURCE
The source code repository for Test::More can be found at http://github.com/Test-More/test-more/.
MAINTAINER
AUTHORS
The following people have all contributed to the Test-More dist (sorted using VIM's sort function).
- Chad Granum <exodist@cpan.org>
- Fergal Daly <fergal@esatclear.ie>>
- Mark Fowler <mark@twoshortplanks.com>
- Michael G Schwern <schwern@pobox.com>
- 唐鳳
COPYRIGHT
There has been a lot of code migration between modules, here are all the original copyrights together:
- Test::Stream
- Test::Stream::Tester
-
Copyright 2014 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://www.perl.com/perl/misc/Artistic.html
- Test::Simple
- Test::More
- Test::Builder
-
Originally authored by Michael G Schwern <schwern@pobox.com> with much inspiration from Joshua Pritikin's Test module and lots of help from Barrie Slaymaker, Tony Bowden, blackstar.co.uk, chromatic, Fergal Daly and the perl-qa gang.
Idea by Tony Bowden and Paul Johnson, code by Michael G Schwern <schwern@pobox.com>, wardrobe by Calvin Klein.
Copyright 2001-2008 by Michael G Schwern <schwern@pobox.com>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html
- Test::use::ok
-
To the extent possible under law, 唐鳳 has waived all copyright and related or neighboring rights to Test-use-ok.
This work is published from Taiwan.
- Test::Tester
-
This module is copyright 2005 Fergal Daly <fergal@esatclear.ie>, some parts are based on other people's work.
Under the same license as Perl itself
See http://www.perl.com/perl/misc/Artistic.html
- Test::Builder::Tester
-
Copyright Mark Fowler <mark@twoshortplanks.com> 2002, 2004.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.