Cleanup failing tests
[gitmo/Mouse.git] / Moose-t-failing / 050_metaclasses / 014_goto_moose_import.t
CommitLineData
41888e7d 1#!/usr/bin/perl
c47cf415 2# This is automatically generated by author/import-moose-test.pl.
3# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
4use t::lib::MooseCompat;
41888e7d 5
6use strict;
7use warnings;
8
c47cf415 9use Test::More;
10$TODO = q{Mouse is not yet completed};
41888e7d 11use Test::Exception;
12
13# Some packages out in the wild cooperate with Mouse by using goto
14# &Mouse::import. we want to make sure it still works.
15
16{
c47cf415 17 package MooseAlike1;
41888e7d 18
19 use strict;
20 use warnings;
21
22 use Mouse ();
23
24 sub import {
25 goto &Mouse::import;
26 }
27
28 sub unimport {
29 goto &Mouse::unimport;
30 }
31}
32
33{
34 package Foo;
35
c47cf415 36 MooseAlike1->import();
41888e7d 37
38 ::lives_ok( sub { has( 'size', is => 'bare' ) },
c47cf415 39 'has was exported via MooseAlike1' );
41888e7d 40
c47cf415 41 MooseAlike1->unimport();
41888e7d 42}
43
44ok( ! Foo->can('has'),
c47cf415 45 'No has sub in Foo after MooseAlike1 is unimported' );
41888e7d 46ok( Foo->can('meta'),
47 'Foo has a meta method' );
48isa_ok( Foo->meta(), 'Mouse::Meta::Class' );
49
50
51{
c47cf415 52 package MooseAlike2;
41888e7d 53
54 use strict;
55 use warnings;
56
57 use Mouse ();
58
59 my $import = \&Mouse::import;
60 sub import {
61 goto $import;
62 }
63
64 my $unimport = \&Mouse::unimport;
65 sub unimport {
66 goto $unimport;
67 }
68}
69
70{
71 package Bar;
72
c47cf415 73 MooseAlike2->import();
41888e7d 74
75 ::lives_ok( sub { has( 'size', is => 'bare' ) },
c47cf415 76 'has was exported via MooseAlike2' );
41888e7d 77
c47cf415 78 MooseAlike2->unimport();
41888e7d 79}
80
81
82ok( ! Bar->can('has'),
c47cf415 83 'No has sub in Bar after MooseAlike2 is unimported' );
41888e7d 84ok( Bar->can('meta'),
85 'Bar has a meta method' );
86isa_ok( Bar->meta(), 'Mouse::Meta::Class' );
c47cf415 87
88done_testing;