gnash-commit
[Top][All Lists]
Advanced

[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);
+




reply via email to

[Prev in Thread] Current Thread [Next in Thread]