1f2a19305Safresh1#!./perl 2f2a19305Safresh1 3f2a19305Safresh1BEGIN { 4f2a19305Safresh1 chdir 't' if -d 't'; 5f2a19305Safresh1 require './test.pl'; 6f2a19305Safresh1 set_up_inc('../lib'); 7f2a19305Safresh1 require Config; 8f2a19305Safresh1} 9f2a19305Safresh1 10f2a19305Safresh1use v5.36; 11f2a19305Safresh1use feature 'class'; 12f2a19305Safresh1no warnings 'experimental::class'; 13f2a19305Safresh1 14f2a19305Safresh1# ADJUST 15f2a19305Safresh1{ 16f2a19305Safresh1 my $adjusted; 17*5486feefSafresh1 my $class_in_adjust; 18f2a19305Safresh1 19*5486feefSafresh1 class Testcase1 { 20f2a19305Safresh1 ADJUST { $adjusted .= "a" } 21f2a19305Safresh1 ADJUST { $adjusted .= "b" } 22*5486feefSafresh1 ADJUST { $class_in_adjust = __CLASS__; } 23f2a19305Safresh1 } 24f2a19305Safresh1 25*5486feefSafresh1 Testcase1->new; 26f2a19305Safresh1 is($adjusted, "ab", 'both ADJUST blocks run in order'); 27*5486feefSafresh1 is($class_in_adjust, "Testcase1", 'value of __CLASS__ in ADJUST block'); 28f2a19305Safresh1} 29f2a19305Safresh1 30f2a19305Safresh1# $self in ADJUST 31f2a19305Safresh1{ 32f2a19305Safresh1 my $self_in_ADJUST; 33f2a19305Safresh1 34*5486feefSafresh1 class Testcase2 { 35f2a19305Safresh1 ADJUST { $self_in_ADJUST = $self; } 36f2a19305Safresh1 } 37f2a19305Safresh1 38*5486feefSafresh1 my $obj = Testcase2->new; 39f2a19305Safresh1 is($self_in_ADJUST, $obj, '$self is set correctly inside ADJUST blocks'); 40f2a19305Safresh1} 41f2a19305Safresh1 42f2a19305Safresh1done_testing; 43