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 my $class_in_adjust; 18 19 class Testcase1 { 20 ADJUST { $adjusted .= "a" } 21 ADJUST { $adjusted .= "b" } 22 ADJUST { $class_in_adjust = __CLASS__; } 23 } 24 25 Testcase1->new; 26 is($adjusted, "ab", 'both ADJUST blocks run in order'); 27 is($class_in_adjust, "Testcase1", 'value of __CLASS__ in ADJUST block'); 28} 29 30# $self in ADJUST 31{ 32 my $self_in_ADJUST; 33 34 class Testcase2 { 35 ADJUST { $self_in_ADJUST = $self; } 36 } 37 38 my $obj = Testcase2->new; 39 is($self_in_ADJUST, $obj, '$self is set correctly inside ADJUST blocks'); 40} 41 42done_testing; 43