This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
toke.c: Make sure things are initialized
[perl5.git] / t / mro / next_goto_utf8.t
CommitLineData
204e6232
BF
1#!/usr/bin/perl
2
3use strict;
4use warnings;
5use utf8;
6use open qw( :utf8 :std );
7require q(./test.pl); plan(tests => 4);
8
9use mro;
10
11{
12 package PṞoxᚤ;
13 our @ISA = qw//;
14 sub next_prxᔬ { goto &next::method }
15 sub maybe_prxᔬ { goto &maybe::next::method }
16 sub can_prxᔬ { goto &next::can }
17
18 package Ⱦ밧ᶟ;
19 our @ISA = qw//;
20 sub ᕗ { 42 }
21 sub Ƚ { 24 }
22 # বẔ doesn't exist intentionally
23 sub ʠঊₓ { 242 }
24
25 package ᵗ톺;
26 our @ISA = qw/Ⱦ밧ᶟ/;
27 sub ᕗ { shift->PṞoxᚤ::next_prxᔬ() }
28 sub Ƚ { shift->PṞoxᚤ::maybe_prxᔬ() }
29 sub বẔ { shift->PṞoxᚤ::maybe_prxᔬ() }
30 sub ʠঊₓ { shift->PṞoxᚤ::can_prxᔬ()->() }
31}
32
33is(ᵗ톺->ᕗ, 42, 'proxy next::method via goto');
34is(ᵗ톺->Ƚ, 24, 'proxy maybe::next::method via goto');
35ok(!ᵗ톺->বẔ, 'proxy maybe::next::method via goto with no method');
36is(ᵗ톺->ʠঊₓ, 242, 'proxy next::can via goto');