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/ASna...


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog testsuite/actionscript.all/ASna...
Date: Wed, 16 Apr 2008 07:27:09 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   08/04/16 07:27:08

Modified files:
        .              : ChangeLog 
        testsuite/actionscript.all: ASnative.as 
        server/asobj   : Global.cpp 

Log message:
                * server/asobj/Global.cpp: register parseInt, parseFloat,
                  escape, unescape, isNaN and isFinite as ASnative.
                * testsuite/actionscript.all/ASnative.cpp: test global
                  ASnative functions

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6289&r2=1.6290
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/ASnative.as?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Global.cpp?cvsroot=gnash&r1=1.111&r2=1.112

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6289
retrieving revision 1.6290
diff -u -b -r1.6289 -r1.6290
--- ChangeLog   16 Apr 2008 06:54:34 -0000      1.6289
+++ ChangeLog   16 Apr 2008 07:27:07 -0000      1.6290
@@ -1,4 +1,11 @@
-2008-04-15 Benjamin Wolsey <address@hidden>
+2008-04-16 Benjamin Wolsey <address@hidden>
+       
+       * server/asobj/Global.cpp: register parseInt, parseFloat,
+         escape, unescape, isNaN and isFinite as ASnative.
+       * testsuite/actionscript.all/ASnative.cpp: test global
+         ASnative functions
+
+2008-04-16 Benjamin Wolsey <address@hidden>
        
        * server/asobj/Global.cpp: init Date class at startup
          so that its ASnative functions are registered.

Index: testsuite/actionscript.all/ASnative.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/ASnative.as,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- testsuite/actionscript.all/ASnative.as      16 Apr 2008 06:54:35 -0000      
1.3
+++ testsuite/actionscript.all/ASnative.as      16 Apr 2008 07:27:08 -0000      
1.4
@@ -15,9 +15,17 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-rcsid="$Id: ASnative.as,v 1.3 2008/04/16 06:54:35 bwy Exp $";
+rcsid="$Id: ASnative.as,v 1.4 2008/04/16 07:27:08 bwy Exp $";
 #include "check.as"
 
+a = ASnative (100, 0); // escape
+check_equals(a(" "), "%20");
+a = ASnative (100, 1); // unescape
+check_equals(a("%20"), " ");
+a = ASnative (100, 2); // parseInt
+check_equals(a("  566765s"), "566765");
+a = ASnative (100, 3); // parseFloat
+check_equals(a("8.4e6"), 8.4e6);
 
 // Do this first to make sure ASnative is
 // register before Date class itself is called.
@@ -141,9 +149,9 @@
 a = ASnative(200, 17);
 check_equals(a(func, func + 1).toString(), "0.209053590580785"); // pow
 a = ASnative(200, 18);
-xcheck_equals(a(func), false); // isNan
+check_equals(a(func), false); // isNan
 a = ASnative(200, 19);
-xcheck_equals(a(func), true); // isFinite
+check_equals(a(func), true); // isFinite
 
 xcheck_equals (countVO, 25); // calls to valueOf.
 check_equals (countTS, 0); // calls to toString.
@@ -182,7 +190,7 @@
 xcheck_equals (countVO, 25);
 
 #if OUTPUT_VERSION > 5
-check_totals(59);
+check_totals(63);
 #else
-check_totals(57);
+check_totals(61);
 #endif

Index: server/asobj/Global.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Global.cpp,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -b -r1.111 -r1.112
--- server/asobj/Global.cpp     16 Apr 2008 06:54:35 -0000      1.111
+++ server/asobj/Global.cpp     16 Apr 2008 07:27:08 -0000      1.112
@@ -593,12 +593,19 @@
        // SWF5
        //-----------------------
 
-       init_member("escape", new builtin_function(as_global_escape));
-       init_member("unescape", new builtin_function(as_global_unescape));
-       init_member("parseFloat", new builtin_function(as_global_parsefloat));
-       init_member("parseInt", new builtin_function(as_global_parseint));
-       init_member("isNaN", new builtin_function(as_global_isnan));
-       init_member("isFinite", new builtin_function(as_global_isfinite));
+    vm.registerNative(as_global_escape, 100, 0);
+       init_member("escape", vm.getNative(100, 0));
+       vm.registerNative(as_global_unescape, 100, 1);
+       init_member("unescape", vm.getNative(100, 1));
+    vm.registerNative(as_global_parseint, 100, 2);
+       init_member("parseInt", vm.getNative(100, 2));
+    vm.registerNative(as_global_parsefloat, 100, 3);
+       init_member("parseFloat", vm.getNative(100, 3));
+       
+       vm.registerNative(as_global_isnan, 200, 18);
+       init_member("isNaN", vm.getNative(200, 18));
+       vm.registerNative(as_global_isfinite, 200, 19);
+       init_member("isFinite", vm.getNative(200, 19));
 
        // NaN and Infinity should only be in _global since SWF6,
        // but this is just because SWF5 or lower did not have a "_global"




reply via email to

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