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ẃ; 18use mro 'c3'; 19 20# No parents 21 22package urḲḵk; 23use mro 'c3'; 24 25# 1 parent 26@urḲḵk::ISA = 'kഌoんḰ'; 27 28package к; 29use mro 'c3'; 30 31# 2 parents 32@urḲḵk::ISA = ('kഌoんḰ', '캎oẃ'); 33 34package ṭ화ckэ; 35use mro 'c3'; 36 37# No parents, has @ISA 38@ṭ화ckэ::ISA = (); 39 40package Źzzzዟᑉ; 41use mro 'c3'; 42 43@Źzzzዟᑉ::ISA = ('ṭ화ckэ', '캎oẃ'); 44 45package Ẁ함M; 46use mro 'c3'; 47 48@Ẁ함M::ISA = ('캎oẃ', 'ṭ화ckэ'); 49 50package main; 51 52my %expect = 53 ( 54 kഌoんḰ => [qw(kഌoんḰ)], 55 urḲḵk => [qw(urḲḵk kഌoんḰ 캎oẃ)], 56 캎oẃ => [qw(캎oẃ)], 57 к => [qw(к)], 58 ṭ화ckэ => [qw(ṭ화ckэ)], 59 Źzzzዟᑉ => [qw(Źzzzዟᑉ ṭ화ckэ 캎oẃ)], 60 Ẁ함M => [qw(Ẁ함M 캎oẃ ṭ화ckэ)], 61 ); 62 63foreach my $package (qw(kഌoんḰ urḲḵk 캎oẃ к ṭ화ckэ Źzzzዟᑉ Ẁ함M)) { 64 my $ref = bless [], $package; 65 my $isa = $expect{$package}; 66 is("@{mro::get_linear_isa($package)}", "@$isa", "\@ISA for $package"); 67 68 foreach my $class ($package, @$isa, 'UNIVERSAL') { 69 object_ok($ref, $class, $package); 70 } 71} 72