[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog testsuite/actionscript.all/Obje...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog testsuite/actionscript.all/Obje... |
Date: |
Wed, 04 Oct 2006 10:38:43 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/10/04 10:38:43
Modified files:
. : ChangeLog
testsuite/actionscript.all: Object.as
Log message:
add enumeration test
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1026&r2=1.1027
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Object.as?cvsroot=gnash&r1=1.7&r2=1.8
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1026
retrieving revision 1.1027
diff -u -b -r1.1026 -r1.1027
--- ChangeLog 4 Oct 2006 09:42:19 -0000 1.1026
+++ ChangeLog 4 Oct 2006 10:38:42 -0000 1.1027
@@ -1,5 +1,9 @@
2006-10-04 Sandro Santilli <address@hidden>
+ * testsuite/actionscript.all/Object.as: add enumeration test.
+
+2006-10-04 Sandro Santilli <address@hidden>
+
* server/asobj/Global.cpp (as_global_assetpropflags):
delegate work to as_object::setPropFlags().
* server/as_object.{cpp,h}: add setPropFlags() method.
Index: testsuite/actionscript.all/Object.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Object.as,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- testsuite/actionscript.all/Object.as 4 Oct 2006 08:24:20 -0000
1.7
+++ testsuite/actionscript.all/Object.as 4 Oct 2006 10:38:43 -0000
1.8
@@ -40,7 +40,7 @@
// compile this test case with Ming makeswf, and then
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: Object.as,v 1.7 2006/10/04 08:24:20 strk Exp $";
+rcsid="$Id: Object.as,v 1.8 2006/10/04 10:38:43 strk Exp $";
#include "check.as"
@@ -102,3 +102,42 @@
check_equals (obj3.len, 5);
+//----------------------
+// Test enumeration
+//----------------------
+
+function enumerate(obj, enum)
+{
+ var enumlen = 0;
+ for (var i in obj) {
+ enum[i] = obj[i];
+ ++enumlen;
+ }
+ return enumlen;
+}
+
+var l0 = new Object({a:1, b:2});
+var l1 = new Object({c:3, d:4});
+l1.__proto__ = l0;
+var l2 = new Object({e:5, f:6});
+l2.__proto__ = l1;
+
+// check properties
+var enum = new Object;
+var enumlen = enumerate(l2, enum);
+check_equals( enumlen, 6);
+check_equals( enum["a"], 1);
+check_equals( enum["b"], 2);
+check_equals( enum["c"], 3);
+check_equals( enum["d"], 4);
+check_equals( enum["e"], 5);
+check_equals( enum["f"], 6);
+
+// Hide a property of a base object
+var ret = ASSetPropFlags(l0, "a", 1);
+
+var enum = new Object;
+var enumlen = enumerate(l2, enum);
+check_equals( enumlen, 5);
+check_equals( enum["a"], undefined);
+