Test that we free anonymous roles automatically (we don't)
[gitmo/Moose.git] / t / 030_roles / 036_free_anonymous_roles.t
CommitLineData
db121d24 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More tests => 2;
5use Moose ();
6use Scalar::Util 'weaken';
7
8my $weak;
9do {
10 my $anon_class;
11
12 do {
13 my $role = Moose::Meta::Role->create_anon_role;
14 weaken($weak = $role);
15
16 $anon_class = Moose::Meta::Class->create_anon_class(
17 roles => [ $role->name ],
18 );
19 };
20
21 ok($weak, "we still have the role metaclass because the anonymous class that consumed it is still alive");
22
23};
24
25TODO: {
26 local $TODO = "we don't weaken role metaclasses yet";
27 ok(!$weak, "the role metaclass is freed after its last reference (from a consuming anonymous class) is freed");
28};
29