3 use Test::More tests => 11;
6 use_ok('Moose::Meta::Class');
17 sub foo_role_applied { 1 }
21 sub bar_role_applied { 1 }
24 # try without caching first
27 my $class_and_foo_1 = Moose::Meta::Class->create_anon_class(
28 superclasses => ['Class'],
32 my $class_and_foo_2 = Moose::Meta::Class->create_anon_class(
33 superclasses => ['Class'],
37 isnt $class_and_foo_1->name, $class_and_foo_2->name,
38 'creating the same class twice without caching results in 2 classes';
40 map { ok $_->name->foo_role_applied } ($class_and_foo_1, $class_and_foo_2);
43 # now try with caching
46 my $class_and_foo_1 = Moose::Meta::Class->create_anon_class(
47 superclasses => ['Class'],
52 my $class_and_foo_2 = Moose::Meta::Class->create_anon_class(
53 superclasses => ['Class'],
58 is $class_and_foo_1->name, $class_and_foo_2->name,
59 'with cache, the same class is the same class';
61 map { ok $_->name->foo_role_applied } ($class_and_foo_1, $class_and_foo_2);
63 my $class_and_bar = Moose::Meta::Class->create_anon_class(
64 superclasses => ['Class'],
69 isnt $class_and_foo_1->name, $class_and_bar,
70 'class_and_foo and class_and_bar are different';
72 ok $class_and_bar->name->bar_role_applied;