File: 02_imports.t

package info (click to toggle)
perl 5.14.2-21%2Bdeb7u3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 89,728 kB
  • sloc: perl: 421,086; ansic: 195,186; sh: 37,852; pascal: 8,746; cpp: 3,893; makefile: 2,346; xml: 1,972; yacc: 1,602
file content (68 lines) | stat: -rw-r--r-- 1,749 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
use Test::More 'no_plan';
use strict;

my $Class   = 'Log::Message::Simple';
my @Carp    = qw[carp croak cluck confess];
my @Msg     = qw[msg debug error];



### test empty import
{   package Test::A;
    

    eval "use $Class ()";
    Test::More::ok( !$@,        "using $Class with no import" );
    
    for my $func ( @Carp, @Msg ) {
        Test::More::ok( !__PACKAGE__->can( $func ),
                                "   $func not imported" );
    }
}    

### test :STD import
{   package Test::B;

    eval "use $Class ':STD'";
    Test::More::ok( !$@,        "using $Class with :STD  import" );
    
    for my $func ( @Carp ) {
        Test::More::ok( !__PACKAGE__->can( $func ),
                                "   $func not imported" );
    }
    
    for my $func ( @Msg ) {
        Test::More::ok( __PACKAGE__->can( $func ),
                                "   $func imported" );
    }                                
}    

### test :CARP import
{   package Test::C;

    eval "use $Class ':CARP'";
    Test::More::ok( !$@,        "using $Class with :CARP  import" );
    
    for my $func ( @Msg ) {
        Test::More::ok( !__PACKAGE__->can( $func ),
                                "   $func not imported" );
    }
    
    for my $func ( @Carp ) {
        Test::More::ok( __PACKAGE__->can( $func ),
                                "   $func imported" );
    }                                
}    

### test all import

{   package Test::D;

    eval "use $Class ':ALL'";
    Test::More::ok( !$@,        "using $Class with :ALL  import" );
    
    for my $func ( @Carp, @Msg ) {
        Test::More::ok( __PACKAGE__->can( $func ),
                                "   $func imported" );
    }                                
}