6 use Test::More tests => 44;
8 use Scope::Upper qw/localize/;
16 localize '$y' => 1 => 0;
17 is $x, 2, 'last 0 [ok - x]';
18 is $y, 1, 'last 0 [ok - y]';
22 is $x, 1, 'last 0 [end - x]';
23 is $y, undef, 'last 0 [end - y]';
34 localize '$y' => 1 => 1;
35 is $x, 3, 'last 1 [ok - x]';
36 is $y, 0, 'last 1 [ok - y]';
42 is $x, 1, 'last 1 [end - x]';
43 is $y, undef, 'last 1 [end - y]';
50 localize '$y' => 1 => 0;
51 is $x, 2, 'next 0 [ok - x]';
52 is $y, 1, 'next 0 [ok - y]';
56 is $x, 1, 'next 0 [end - x]';
57 is $y, undef, 'next 0 [end - y]';
68 localize '$y' => 1 => 1;
69 is $x, 3, 'next 1 [ok - x]';
70 is $y, 0, 'next 1 [ok - y]';
76 is $x, 1, 'next 1 [end - x]';
77 is $y, undef, 'next 1 [end - y]';
85 localize '$y' => 1 => 2;
87 is $x, 2, 'goto 1 [not yet - x]';
88 is $y, undef, 'goto 1 [not yet - y]';
96 is $x, 1, 'goto 1 [ok - x]';
97 is $y, 1, 'goto 1 [ok - y]';
108 localize '$y' => 1 => 3;
110 is $x, 3, 'goto 2 [not yet - x]';
111 is $y, undef, 'goto 2 [not yet - y]';
120 is $x, 1, 'goto 2 [ok - x]';
121 is $y, 1, 'goto 2 [ok - y]';
133 localize '$y' => 1 => 4;
134 is $x, 3, 'die - reap outside eval [not yet 1 - x]';
135 is $y, undef, 'die - reap outside eval [not yet 1 - y]';
137 is $x, 2, 'die - reap outside eval [not yet 2 - x]';
138 is $y, undef, 'die - reap outside eval [not yet 2 - y]';
142 is $x, 1, 'die - reap outside eval [not yet 3 - x]';
143 is $y, undef, 'die - reap outside eval [not yet 3 - y]';
144 } # should trigger here
145 is $x, 1, 'die - reap outside eval [ok - x]';
146 is $y, 1, 'die - reap outside eval [ok - y]';
157 localize '$y' => 1 => 3;
158 is $x, 3, 'die - reap at eval [not yet 1 - x]';
159 is $y, undef, 'die - reap at eval [not yet 1 - y]';
161 is $x, 2, 'die - reap at eval [not yet 2 - x]';
162 is $y, undef, 'die - reap at eval [not yet 2 - y]';
165 }; # should trigger here
166 is $x, 1, 'die - reap at eval [ok - x]';
167 is $y, 1, 'die - reap at eval [ok - y]';
178 localize '$y' => 1 => 2;
179 is $x, 3, 'die - reap inside eval [not yet 1 - x]';
180 is $y, undef, 'die - reap inside eval [not yet 1 - y]';
182 is $x, 2, 'die - reap inside eval [not yet 2 - x]';
183 is $y, undef, 'die - reap inside eval [not yet 2 - y]';
185 } # should trigger here
187 is $x, 1, 'die - reap inside eval [ok - x]';
188 is $y, undef, 'die - reap inside eval [ok - y]';