use strict;
use warnings;
-use Test::More tests => 17;
+use Test::More tests => 22;
use Scope::Upper qw/localize_elem/;
is_deeply \@a, [ 4 .. 6 ], 'localize_elem "@a", 4, 8, 0 [end]';
}
+{
+ local @a = (4 .. 6);
+ {
+ localize_elem '@main::a', [ 2, 4 ], [ 7, 8 ], 0;
+ is_deeply \@a, [ 4, 5, 7, undef, 8 ], 'localize_elem "@a", [ 2, 4 ], [ 7, 8 ], 0 [ok]';
+ }
+ is_deeply \@a, [ 4 .. 6 ], 'localize_elem "@a", [ 2, 4], [ 7, 8 ], 0 [end]';
+}
+
{
local @a = (4 .. 6);
{
is_deeply \@a, [ 4 .. 6 ], 'localize_elem "@a", 4, 12, 1 [end]';
}
+{
+ local @a = (4 .. 6);
+ {
+ local @a = (5 .. 7);
+ {
+ localize_elem '@main::a', [ 3, 4 ], [ 11, 12 ], 1;
+ is_deeply \@a, [ 5 .. 7 ], 'localize_elem "@a", [ 2, 4 ], [ 11, 12 ], 1 [not yet]';
+ }
+ is_deeply \@a, [ 5, 6, 7, 11, 12 ], 'localize_elem "@a", [ 2, 4 ], [ 11, 12 ], 1 [ok]';
+ }
+ is_deeply \@a, [ 4 .. 6 ], 'localize_elem "@a", [ 2, 4 ], [ 11, 12 ], 1 [end]';
+}
+
# Hashes
our %h;