This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Encode to CPAN version 2.78
[perl5.git] / t / mro / isa_c3_utf8.t
CommitLineData
204e6232
BF
1#!perl -w
2
3BEGIN {
4 chdir 't' if -d 't';
5 @INC = '../lib';
6 require "./test.pl";
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') {
bbce3ca6 69 object_ok($ref, $class, $package);
204e6232
BF
70 }
71}