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