This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
mg.c: Remove poorly considered assertion
[perl5.git] / t / mro / isa_c3_utf8.t
1 #!perl -w
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6     require "./test.pl";
7 }
8
9 use strict;
10 use utf8;
11 use open qw( :utf8 :std );
12
13 plan 'no_plan';
14
15 # package klonk doesn't have a stash.
16
17 package 캎oẃ;
18 use mro 'c3';
19
20 # No parents
21
22 package urḲḵk;
23 use mro 'c3';
24
25 # 1 parent
26 @urḲḵk::ISA = 'kഌoんḰ';
27
28 package к;
29 use mro 'c3';
30
31 # 2 parents
32 @urḲḵk::ISA = ('kഌoんḰ', '캎oẃ');
33
34 package ṭ화ckэ;
35 use mro 'c3';
36
37 # No parents, has @ISA
38 @ṭ화ckэ::ISA = ();
39
40 package Źzzzዟᑉ;
41 use mro 'c3';
42
43 @Źzzzዟᑉ::ISA = ('ṭ화ckэ', '캎oẃ');
44
45 package Ẁ함M;
46 use mro 'c3';
47
48 @Ẁ함M::ISA = ('캎oẃ', 'ṭ화ckэ');
49
50 package main;
51
52 my %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
63 foreach 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 }