Add some tests for goto &Moose::import
[gitmo/Moose.git] / t / 050_metaclasses / 014_goto_moose_import.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 2;
7 use Test::Exception;
8
9 # Some packages out in the wild cooperate with Moose by using goto
10 # &Moose::import. we want to make sure it still works.
11
12 {
13     package MooseAlike1;
14
15     use strict;
16     use warnings;
17
18     use Moose ();
19
20     sub import {
21         goto &Moose::import;
22     }
23 }
24
25 {
26     package Foo;
27
28     MooseAlike1->import();
29
30     ::lives_ok( sub { has( 'size' ) },
31                 'has was exported via MooseAlike1' );
32 }
33
34 {
35     package MooseAlike2;
36
37     use strict;
38     use warnings;
39
40     use Moose ();
41
42     my $import = \&Moose::import;
43     sub import {
44         goto $import;
45     }
46 }
47
48 {
49     package Bar;
50
51     MooseAlike2->import();
52
53     ::lives_ok( sub { has( 'size' ) },
54                 'has was exported via MooseAlike2' );
55 }
56
57
58
59