require 'test.pl';
-plan (117);
+plan (125);
#
# @foo, @bar, and @ary are also used from tie-stdarray after tie-ing them
is($#ary, 3);
is(join('',@ary), '1234');
+{
+ no warnings 'deprecated';
+
$[ = 1;
@ary = (1,2,3,4,5);
is(join('',@ary), '12345');
$r = join(',', $#bar, @bar);
is($r, "2,0,,2");
+}
+
$foo = 'now is the time';
ok(scalar (($F1,$F2,$Etc) = ($foo =~ /^(\S+)\s+(\S+)\s*(.*)/)));
is($F1, 'now');
is($foo, 'b');
@foo = ( 'foo', 'bar', 'burbl');
-push(foo, 'blah');
+{
+ no warnings 'deprecated';
+ push(foo, 'blah');
+}
is($#foo, 3);
# various AASSIGN_COMMON checks (see newASSIGNOP() in op.c)
# try the same with my
{
-
my @bee = @bee;
is("@bee", "foo bar burbl blah"); # 54
{
is("@bee", "foo bar burbl blah"); # 63
}
+# try the same with our (except that previous values aren't restored)
+{
+ our @bee = @bee;
+ is("@bee", "foo bar burbl blah");
+ {
+ our (undef,@bee) = @bee;
+ is("@bee", "bar burbl blah");
+ {
+ our @bee = ('XXX',@bee,'YYY');
+ is("@bee", "XXX bar burbl blah YYY");
+ {
+ our @bee = our @bee = qw(foo bar burbl blah);
+ is("@bee", "foo bar burbl blah");
+ {
+ our (@bim) = our(@bee) = qw(foo bar);
+ is("@bee", "foo bar");
+ is("@bim", "foo bar");
+ }
+ }
+ }
+ }
+}
+
# make sure reification behaves
my $t = curr_test();
sub reify { $_[1] = $t++; print "@_\n"; }
sub tary {
+ no warnings 'deprecated';
local $[ = 10;
my $five = 5;
is ($tary[5], $tary[$five]);
is ($4[8], 23);
}
+# more tests for AASSIGN_COMMON
+
+{
+ our($x,$y,$z) = (1..3);
+ our($y,$z) = ($x,$y);
+ is("$x $y $z", "1 1 2");
+}
+{
+ our($x,$y,$z) = (1..3);
+ (our $y, our $z) = ($x,$y);
+ is("$x $y $z", "1 1 2");
+}
+
+
"We're included by lib/Tie/Array/std.t so we need to return something true";