#!/usr/bin/perl use strict; use warnings; use NEXT; use utf8; use open qw( :utf8 :std ); require './test.pl'; plan(tests => 4); { package ᕘ; use strict; use warnings; use mro 'c3'; sub fಓ { 'ᕘ::fಓ' } package Fᶽ; use strict; use warnings; use mro 'c3'; use base 'ᕘ'; sub fಓ { 'Fᶽ::fಓ => ' . (shift)->next::method } package Bᛆ; use strict; use warnings; use mro 'c3'; use base 'ᕘ'; sub fಓ { 'Bᛆ::fಓ => ' . (shift)->next::method } package Baᕃ; use strict; use warnings; use base 'Bᛆ', 'Fᶽ'; sub fಓ { 'Baᕃ::fಓ => ' . (shift)->NEXT::fಓ } } is(ᕘ->fಓ, 'ᕘ::fಓ', '... got the right value from ᕘ->fಓ'); is(Fᶽ->fಓ, 'Fᶽ::fಓ => ᕘ::fಓ', '... got the right value from Fᶽ->fಓ'); is(Bᛆ->fಓ, 'Bᛆ::fಓ => ᕘ::fಓ', '... got the right value from Bᛆ->fಓ'); is(Baᕃ->fಓ, 'Baᕃ::fಓ => Bᛆ::fಓ => Fᶽ::fಓ => ᕘ::fಓ', '... got the right value using NEXT in a subclass of a C3 class');