X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F010_basics%2F009_import_unimport.t;h=95caad966a8fe2e9024d03514281d5a124255165;hb=51c788414482c813eb48fb417b08ba03134ff1a6;hp=9bc2c7679bf374f2b3a77c26ec92f58f31769d1b;hpb=5a3217dee17f651ca5c748b2312f35d6cdd96955;p=gitmo%2FMoose.git diff --git a/t/010_basics/009_import_unimport.t b/t/010_basics/009_import_unimport.t index 9bc2c76..95caad9 100644 --- a/t/010_basics/009_import_unimport.t +++ b/t/010_basics/009_import_unimport.t @@ -3,68 +3,98 @@ use strict; use warnings; -use Test::More tests => 47; +use Test::More; -BEGIN { - use_ok('Moose'); -} my @moose_exports = qw( - extends with - has + extends with + has before after around override augment super inner - make_immutable + blessed confess ); { package Foo; -} -eval q{ - package Foo; - use Moose; -}; -ok(!$@, '... Moose succesfully exported into Foo'); + eval 'use Moose'; + die $@ if $@; +} can_ok('Foo', $_) for @moose_exports; -eval q{ +{ package Foo; - no Moose; -}; -ok(!$@, '... Moose succesfully un-exported from Foo'); + + eval 'no Moose'; + die $@ if $@; +} ok(!Foo->can($_), '... Foo can no longer do ' . $_) for @moose_exports; # and check the type constraints as well my @moose_type_constraint_exports = qw( - type subtype as where message - coerce from via + type subtype as where message + coerce from via enum find_type_constraint ); { package Bar; -} -eval q{ - package Bar; - use Moose::Util::TypeConstraints; -}; -ok(!$@, '... Moose::Util::TypeConstraints succesfully exported into Bar'); + eval 'use Moose::Util::TypeConstraints'; + die $@ if $@; +} can_ok('Bar', $_) for @moose_type_constraint_exports; -eval q{ +{ package Bar; - no Moose::Util::TypeConstraints; -}; -ok(!$@, '... Moose::Util::TypeConstraints succesfully un-exported from Bar'); + + eval 'no Moose::Util::TypeConstraints'; + die $@ if $@; +} ok(!Bar->can($_), '... Bar can no longer do ' . $_) for @moose_type_constraint_exports; + +{ + package Baz; + + use Moose; + use Scalar::Util qw( blessed ); + + no Moose; +} + +can_ok( 'Baz', 'blessed' ); + +{ + package Moo; + + use Scalar::Util qw( blessed ); + use Moose; + + no Moose; +} + +can_ok( 'Moo', 'blessed' ); + +my $blessed; +{ + package Quux; + + use Scalar::Util qw( blessed ); + use Moose blessed => { -as => \$blessed }; + + no Moose; +} + +can_ok( 'Quux', 'blessed' ); +is( $blessed, \&Scalar::Util::blessed ); + +done_testing;