cvsuser 05/01/05 06:38:03
Modified: ops var.ops
t/op lexicals.t
Log:
Add test for pop_pad_p; remove 'XXX: unimplemented' note in var.ops
Revision Changes Path
1.26 +1 -1 parrot/ops/var.ops
Index: var.ops
===================================================================
RCS file: /cvs/public/parrot/ops/var.ops,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- var.ops 4 Jan 2005 11:24:52 -0000 1.25
+++ var.ops 5 Jan 2005 14:38:01 -0000 1.26
@@ -81,7 +81,7 @@
=item B<pop_pad>(out PMC)
Pop the current lexical scope pad off the stack and store
-it in $1 (XXX JPS: not implemented yet).
+it in $1
=cut
1.10 +43 -2 parrot/t/op/lexicals.t
Index: lexicals.t
===================================================================
RCS file: /cvs/public/parrot/t/op/lexicals.t,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- lexicals.t 3 Jan 2005 02:32:23 -0000 1.9
+++ lexicals.t 5 Jan 2005 14:38:02 -0000 1.10
@@ -1,6 +1,6 @@
#! perl -w
# Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-# $Id: lexicals.t,v 1.9 2005/01/03 02:32:23 scog Exp $
+# $Id: lexicals.t,v 1.10 2005/01/05 14:38:02 scog Exp $
=head1 NAME
@@ -16,7 +16,7 @@
=cut
-use Parrot::Test tests => 12;
+use Parrot::Test tests => 13;
output_is(<<CODE, <<OUTPUT, "simple store and fetch");
new_pad 0
@@ -235,6 +235,47 @@
7
OUTPUT
+output_is(<<'CODE', <<OUTPUT, "pop_pad_p");
+ new_pad P10, 0
+ new_pad P11, 0
+ new_pad P12, 0
+
+ new P0, .Integer
+ new P1, .Integer
+ new P2, .Integer
+ set P0, 12
+ set P1, 7
+ set P2, 46
+
+ set P10[0;"a"], P0
+ set P11[0;"a"], P1
+ set P12[0;"a"], P2
+
+ push_pad P10
+ push_pad P11
+ push_pad P12
+
+ pop_pad P1
+ pop_pad P2
+ pop_pad P3
+
+ set P4, P1[0;"a"]
+ set P5, P2[0;"a"]
+ set P6, P3[0;"a"]
+
+ print P4
+ print "\n"
+ print P5
+ print "\n"
+ print P6
+ print "\n"
+ end
+CODE
+46
+7
+12
+OUTPUT
+
output_is(<<CODE, <<OUTPUT, "access by position");
new_pad 0
new_pad 1