1#!./perl
2BEGIN {
3    chdir 't' if -d 't';
4
5    #For tests within the perl distribution
6    @INC = '../lib' if -d '../lib';
7    END;
8
9    # Functions exported by FileCache;
10    @funcs  = qw[cacheout cacheout_close];
11    $i      = 0;
12
13    # number of tests
14    print "1..8\n";
15}
16
17# Test 6: Test that exporting both works to package main and
18# other packages. Now using Exporter.
19
20# First, we shouldn't be able to have these in our namespace
21# Add them to BEGIN so the later 'use' doesn't influence this
22# test
23BEGIN {
24    for my $f (@funcs) {
25        ++$i;
26        print 'not ' if __PACKAGE__->can($f);
27        print "ok $i\n";
28    }
29}
30
31# With an empty import list, we also shouldn't have them in
32# our namespace.
33# Add them to BEGIN so the later 'use' doesn't influence this
34# test
35BEGIN {
36    use FileCache ();
37    for my $f (@funcs) {
38        ++$i;
39        print 'not ' if __PACKAGE__->can($f);
40        print "ok $i\n";
41    }
42}
43
44
45# Now, we use FileCache in 'main'
46{   use FileCache;
47    for my $f (@funcs) {
48        ++$i;
49        print 'not ' if !__PACKAGE__->can($f);
50        print "ok $i\n";
51    }
52}
53
54# Now we use them in another package
55{   package X;
56    use FileCache;
57    for my $f (@main::funcs) {
58        ++$main::i;
59        print 'not ' if !__PACKAGE__->can($f);
60        print "ok $main::i\n";
61    }
62}
63