GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  TEST::STREAM::EXPORTER (3)

.ds Aq ’

NAME

Test::Stream::Exporter - Declarative exporter for Test::Stream and friends.

CONTENTS

DEPRECATED

<B>This distribution is deprecatedB> in favor of Test2, Test2::Suite, and Test2::Workflow.

See Test::Stream::Manual::ToTest2 for a conversion guide.

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.

SYNOPSIS



    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.
    no Test::Stream::Exporter;

    ...;



CONTROLLING IMPORTS

    IMPORTING SUBS WITH ALTERNATE NAMES

<B>Note:B> If you import Test::Stream::Exporter functions under alternative names, no Test::Stream::Exporter; will not find and remove them like it normally would.

The rename syntax is borrowed from Exporter::Declare, which borrowed it from Sub::Exporter.



    use Some::Exporter an_export => {-as => new_name}, other_export => {-as => other_name};



You can also prefix and/or postfix to the names:



    use Some::Exporter an_export => {-preifx => my_, postfix _tool};

    # Now use it:
    my_an_export_tool(...);



    IMPORTING ALL SUBS

You can use -all to import ALL subs exported by a module.



    use Some::Exporter -all;



This can be combined with aliasing:



    use Some::Exporter -all, foo => { -as => my_foo };



In this example foo will be imported as ’my_foo’, all other subs will be imported with their original names. Order is not important here.

    IMPORTING DEFAULTS PLUS

You can use -default to import all default subs, then list others you want to import as well.



    use Some::Exporter -default, qw/and_this and_that/;



If you want to import all the defaults AND rename one or more:



    use Some::Exporter -default, foo => { -as => my_foo };



In this example foo() will be imported as my_foo(). All other defaults will also be imported, but with their original names. Order is not important here.

CUSTOMIZING AN IMPORT METHOD

Sometimes you need to make a custom import method, but you still want to use the exporter tool to manage exports. here is how you do it:



    use Test::Stream::Exporter qw/export exports export_from/;
    export foo => sub { foo };
    export qw/bar baz/;

    sub import {
        my $class = shift;
        my @exports = @_;

        # Do whatever you need to
        ...

        # Now go ahead and do the exporting with your list
        my $caller = caller;
        export_from($class, $caller, \@exports);
    }

    # This will cleanup the namespace, including export_from, do you need to
    # do it AFTER your import method.
    no Test::Stream::Exporter;

    sub bar { bar }
    sub baz { baz }

    1;



EXPORTS

    DEFAULT

METHODS
$class->import(@list) Your class needs this to function as an exporter.
FUNCTIONS

<B>Note:B> All of thease are removed by default when you run no Test::Stream::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.

    OTHER AVAILABLE EXPORTS

METHODS
$class->export_to($dest)
$class->export_to($dest, \@symbols) Export from the exporter class into the $dest package. The seconond argument is optional, if it is omitted the default export list will be used. The second argument must be an arrayref with export names.
FUNCTIONS

<B>Note:B> All of thease are removed by default when you run no Test::Stream::Exporter;
export_from($from, $to)
export_from($from, $to, \@symbols) This will export all the specified symbols from the $from package to the $to package.

SOURCE

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

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>
Kent Fredric <kentnl@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/

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 TEST::STREAM::EXPORTER (3) 2016-02-05

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.