8 package Attribute::Trait::Awesome;
13 package Awesome::Exporter;
16 Moose::Exporter->setup_import_methods(
17 trait_aliases => ['Attribute::Trait::Awesome'],
24 BEGIN { Awesome::Exporter->import }
30 ::does_ok(__PACKAGE__->meta->get_attribute('foo'), 'Attribute::Trait::Awesome');
33 BEGIN { Awesome::Exporter->unimport }
35 my $val = eval "Awesome";
36 ::like($@, qr/Bareword "Awesome" not allowed/, "unimported properly");
37 ::is($val, undef, "unimported properly");
41 package Awesome2::Exporter;
44 Moose::Exporter->setup_import_methods(
46 [ 'Attribute::Trait::Awesome' => 'Awesome2' ],
54 BEGIN { Awesome2::Exporter->import }
60 ::does_ok(__PACKAGE__->meta->get_attribute('foo'), 'Attribute::Trait::Awesome');
62 BEGIN { Awesome2::Exporter->unimport }
64 my $val = eval "Awesome2";
65 ::like($@, qr/Bareword "Awesome2" not allowed/, "unimported properly");
66 ::is($val, undef, "unimported properly");
70 package Awesome2::Rename;
72 BEGIN { Awesome2::Exporter->import(Awesome2 => { -as => 'emosewA' }) }
78 ::does_ok(__PACKAGE__->meta->get_attribute('foo'), 'Attribute::Trait::Awesome');
80 BEGIN { Awesome2::Exporter->unimport }
82 { our $TODO; local $TODO = "unimporting renamed subs currently doesn't work";
83 my $val = eval "emosewA";
84 ::like($@, qr/Bareword "emosewA" not allowed/, "unimported properly");
85 ::is($val, undef, "unimported properly");