This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fixup new hash benchmarks to be lighter
[perl5.git] / t / mro / isa_dfs_utf8.t
CommitLineData
204e6232
BF
1#!perl -w
2
3BEGIN {
4 chdir 't' if -d 't';
204e6232 5 require "./test.pl";
624c42e2 6 set_up_inc('../lib');
204e6232
BF
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Ḳḵk;
22
23# 1 parent
24@urḲḵk::ISA = 'kഌoんḰ';
25
26package к;
27
28# 2 parents
29@urḲḵk::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 Ẁ함M;
41
42@Ẁ함M::ISA = ('캎oẃ', 'ṭ화ckэ');
43
44package main;
45
46require mro;
47
48my %expect =
49 (
50 kഌoんḰ => [qw(kഌoんḰ)],
51 urḲḵk => [qw(urḲḵk kഌoんḰ 캎oẃ)],
52 캎oẃ => [qw(캎oẃ)],
53 к => [qw(к)],
54 ṭ화ckэ => [qw(ṭ화ckэ)],
55 Źzzzዟᑉ => [qw(Źzzzዟᑉ ṭ화ckэ 캎oẃ)],
56 Ẁ함M => [qw(Ẁ함M 캎oẃ ṭ화ckэ)],
57 );
58
59foreach my $package (qw(kഌoんḰ urḲḵk 캎oẃ к ṭ화ckэ Źzzzዟᑉ Ẁ함M)) {
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') {
bbce3ca6 65 object_ok($ref, $class, $package);
204e6232
BF
66 }
67}