Commit | Line | Data |
7ae55cf7 |
1 | use strict; |
2 | use warnings; |
efd3d14c |
3 | use Test::More tests => 3; |
7ae55cf7 |
4 | use Test::Exception; |
5 | |
efd3d14c |
6 | use Class::MOP; |
7ae55cf7 |
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 | |