Include method name in immutable methods (fixes #49680)
[gitmo/Class-MOP.git] / t / 303_RT_39001_fix.t
1 use strict;
2 use warnings;
3 use Test::More tests => 3;
4 use Test::Exception;
5
6 use Class::MOP;
7
8 =pod
9
10 This tests a bug sent via RT #39001
11
12 =cut
13
14 {
15     package Foo;
16     use metaclass;
17 }
18
19 throws_ok {
20     Foo->meta->superclasses('Foo');
21 } qr/^Recursive inheritance detected/, "error occurs when extending oneself";
22
23 {
24     package Bar;
25     use metaclass;
26 }
27
28 lives_ok {
29     Foo->meta->superclasses('Bar');
30 } "regular subclass";
31
32 throws_ok {
33     Bar->meta->superclasses('Foo');
34 } qr/^Recursive inheritance detected/, "error occurs when Bar extends Foo, when Foo is a Bar";
35