diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-06 17:50:16 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-06 17:50:16 +0000 |
commit | 5ac2026f7eed78958d69d051e7a8e993dcf51205 (patch) | |
tree | 298c3d2f08bdfe5689998b11892d72a897985be1 /t/roles/overloading_remove_attributes_bug.t | |
download | Moose-tarball-master.tar.gz |
Moose-2.1405HEADMoose-2.1405master
Diffstat (limited to 't/roles/overloading_remove_attributes_bug.t')
-rw-r--r-- | t/roles/overloading_remove_attributes_bug.t | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/t/roles/overloading_remove_attributes_bug.t b/t/roles/overloading_remove_attributes_bug.t new file mode 100644 index 0000000..15f6cc9 --- /dev/null +++ b/t/roles/overloading_remove_attributes_bug.t @@ -0,0 +1,36 @@ +use strict; +use warnings; + +use Test::More 0.88; +use Test::Warnings; + +use lib 't/lib'; + +use OverloadingTests; + +{ + package MyRole; + use Moose::Role; + + has foo => ( is => 'ro' ); + + # Note ordering here. If metaclass reinitialization nukes attributes, this + # breaks. + with 'Overloading::RoleWithOverloads'; +} + +{ + package MyClass; + use Moose; + + with 'MyRole'; +} + +my $object = MyClass->new( foo => 21, message => 'foo' ); + +OverloadingTests::test_overloading_for_object( $object, 'MyClass object' ); + +is( $object->foo(), 21, + 'foo attribute in MyClass is still present (from MyRole)' ); + +done_testing(); |