Require Dist::Zilla 4.200016+
[gitmo/Moose.git] / t / todo_tests / replacing_super_methods.t
CommitLineData
d963b987 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More;
5
6my ($super_called, $sub_called, $new_super_called) = (0, 0, 0);
7{
8 package Foo;
9 use Moose;
10
11 sub foo { $super_called++ }
12}
13
14{
15 package Foo::Sub;
16 use Moose;
17 extends 'Foo';
18
19 override foo => sub {
20 $sub_called++;
21 super();
22 };
23}
24
25Foo::Sub->new->foo;
26is($super_called, 1, "super called");
27is($new_super_called, 0, "new super not called");
28is($sub_called, 1, "sub called");
29
30($super_called, $sub_called, $new_super_called) = (0, 0, 0);
31
32Foo->meta->add_method(foo => sub {
33 $new_super_called++;
34});
35
36Foo::Sub->new->foo;
37{ local $TODO = "super doesn't get replaced";
38is($super_called, 0, "super not called");
39is($new_super_called, 1, "new super called");
40}
41is($sub_called, 1, "sub called");
42
43done_testing;