xref: /openbsd-src/gnu/usr.bin/perl/t/class/phasers.t (revision 53555c846a0a6f917dbd0a191f826da995ab1c42)
1#!./perl
2
3BEGIN {
4    chdir 't' if -d 't';
5    require './test.pl';
6    set_up_inc('../lib');
7    require Config;
8}
9
10use v5.36;
11use feature 'class';
12no warnings 'experimental::class';
13
14# ADJUST
15{
16    my $adjusted;
17
18    class Test1 {
19        ADJUST { $adjusted .= "a" }
20        ADJUST { $adjusted .= "b" }
21    }
22
23    Test1->new;
24    is($adjusted, "ab", 'both ADJUST blocks run in order');
25}
26
27# $self in ADJUST
28{
29    my $self_in_ADJUST;
30
31    class Test2 {
32        ADJUST { $self_in_ADJUST = $self; }
33    }
34
35    my $obj = Test2->new;
36    is($self_in_ADJUST, $obj, '$self is set correctly inside ADJUST blocks');
37}
38
39done_testing;
40