HEX
Server: Apache
System: Linux box5154.bluehost.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User: almiraso (1849)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //usr/share/doc/perl-Class-Method-Modifiers/t/041-modify-parent.t
use strict;
use warnings;
use Test::More 0.88;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';

my @calls;

do {
    package MyParent;
    sub foo { push @calls, 'MyParent::foo' }

    package Child;
    use Class::Method::Modifiers;
    our @ISA = 'MyParent';

    around foo => sub {
        push @calls, 'before Child::foo';
        shift->(@_);
        push @calls, 'after Child::foo';
    };
};

Child->foo;
is_deeply([splice @calls], [
    'before Child::foo',
    'MyParent::foo',
    'after Child::foo',
]);

do {
    package MyParent;
    use Class::Method::Modifiers;
    around foo => sub {
        push @calls, 'before MyParent::foo';
        shift->(@_);
        push @calls, 'after MyParent::foo';
    };
};

Child->foo;

TODO: {
    local $TODO = "pending discussion with stevan";
    is_deeply([splice @calls], [
        'before Child::foo',
        'before MyParent::foo',
        'MyParent::foo',
        'after MyParent::foo',
        'after Child::foo',
    ]);
}

done_testing;