1#!perl -w
2
3BEGIN {
4    chdir 't' if -d 't';
5    require "./test.pl";
6    set_up_inc('../lib');
7}
8
9use strict;
10use utf8;
11use open qw( :utf8 :std );
12
13plan 'no_plan';
14
15# package klonk doesn't have a stash.
16
17package ���o���;
18
19# No parents
20
21package ur���������;
22
23# 1 parent
24@ur���������::ISA = 'k���o������';
25
26package ��;
27
28# 2 parents
29@ur���������::ISA = ('k���o������', '���o���');
30
31package ������ck��;
32
33# No parents, has @ISA
34@������ck��::ISA = ();
35
36package ��zzz������;
37
38@��zzz������::ISA = ('������ck��', '���o���');
39
40package ���������;
41
42@���������::ISA = ('���o���', '������ck��');
43
44package main;
45
46require mro;
47
48my %expect =
49    (
50     k���o������ => [qw(k���o������)],
51     ur��������� => [qw(ur��������� k���o������ ���o���)],
52     ���o��� => [qw(���o���)],
53     �� => [qw(��)],
54     ������ck�� => [qw(������ck��)],
55     ��zzz������ => [qw(��zzz������ ������ck�� ���o���)],
56     ��������� => [qw(��������� ���o��� ������ck��)],
57    );
58
59foreach my $package (qw(k���o������ ur��������� ���o��� �� ������ck�� ��zzz������ ���������)) {
60    my $ref = bless [], $package;
61    my $isa = $expect{$package};
62    is("@{mro::get_linear_isa($package)}", "@$isa", "\@ISA for $package");
63
64    foreach my $class ($package, @$isa, 'UNIVERSAL') {
65	object_ok($ref, $class, $package);
66    }
67}
68