gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/asobj/Number.cpp testsui...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/Number.cpp testsui...
Date: Wed, 02 Apr 2008 10:55:33 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/04/02 10:55:32

Modified files:
        .              : ChangeLog 
        server/asobj   : Number.cpp 
        testsuite/actionscript.all: Number.as 
        testsuite/swfdec: PASSING 

Log message:
        Number.valueOf is also only meant to work for Number instances.
        Fixes all the odd tests for Number.prototype in SWF5.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6160&r2=1.6161
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Number.cpp?cvsroot=gnash&r1=1.42&r2=1.43
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Number.as?cvsroot=gnash&r1=1.52&r2=1.53
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/swfdec/PASSING?cvsroot=gnash&r1=1.117&r2=1.118

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6160
retrieving revision 1.6161
diff -u -b -r1.6160 -r1.6161
--- ChangeLog   2 Apr 2008 09:54:49 -0000       1.6160
+++ ChangeLog   2 Apr 2008 10:55:30 -0000       1.6161
@@ -1,11 +1,18 @@
 2008-04-01 Sandro Santilli <address@hidden>
 
+       * server/asobj/Number.cpp: add valueOf_method, as Number.valueOf like
+         Number.toString must only work for number instances.
+       * testsuite/actionscript.all/Number.as: those weird tests for
+         Number.prototype in swf5 are fixed now.
+       * testsuite/swfdec/PASSING: number.swf succeeds.
+
+2008-04-01 Sandro Santilli <address@hidden>
+
        * testsuite/actionscript.all/Number.as: more tests on Number.prototype
          (weird results)
        * server/asobj/Number.as (toString_method): Number.prototype.toString
          is supposed to work _only_ for the number object.
        * testsuite/actionscript.all/Boolean.as: !"true" succeeds.
-       * testsuite/swfdec/PASSING: number.swf succeeds.
 
 2008-04-01 Benjamin Wolsey <address@hidden>
 

Index: server/asobj/Number.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Number.cpp,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- server/asobj/Number.cpp     2 Apr 2008 09:39:59 -0000       1.42
+++ server/asobj/Number.cpp     2 Apr 2008 10:55:32 -0000       1.43
@@ -106,6 +106,8 @@
        }
 
        static as_value toString_method(const fn_call& fn);
+
+       static as_value valueOf_method(const fn_call& fn);
 };
 
 static void
@@ -122,7 +124,7 @@
        o.init_member("toString", new 
builtin_function(number_as_object::toString_method));
 
        // Number.valueOf()
-       o.init_member("valueOf", new 
builtin_function(as_object::valueof_method));
+       o.init_member("valueOf", new 
builtin_function(number_as_object::valueOf_method));
 }
 
 
@@ -221,4 +223,14 @@
        return as_value::doubleToString(val, radix); 
 }
   
+as_value
+number_as_object::valueOf_method(const fn_call& fn)
+{
+       // Number.valueOf must only work for number object, not generic ones.
+       // This is so trace(Number.prototype == Object) return true in swf5 ?
+       boost::intrusive_ptr<number_as_object> obj = 
ensureType<number_as_object>(fn.this_ptr);
+
+       return obj->get_primitive_value();
+}
+  
 } // namespace gnash

Index: testsuite/actionscript.all/Number.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Number.as,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -b -r1.52 -r1.53
--- testsuite/actionscript.all/Number.as        2 Apr 2008 09:54:50 -0000       
1.52
+++ testsuite/actionscript.all/Number.as        2 Apr 2008 10:55:32 -0000       
1.53
@@ -28,7 +28,7 @@
 //  
 
 
-rcsid="$Id: Number.as,v 1.52 2008/04/02 09:54:50 strk Exp $";
+rcsid="$Id: Number.as,v 1.53 2008/04/02 10:55:32 strk Exp $";
 #include "check.as"
 
 Number.hasOwnProperty = ASnative(101, 5);
@@ -326,11 +326,11 @@
 check(Number.hasOwnProperty('constructor')); 
 check_equals(typeof(Number.prototype), 'object'); 
 #if OUTPUT_VERSION == 5
-    xcheck_equals(Number.prototype, Object);
-    xcheck_equals(Number.prototype, Function);
-    xcheck_equals(Number.prototype, Object.__proto__);
-    xcheck_equals(Number.prototype, null);
-    xcheck_equals(Number.prototype, undefined);
+    check_equals(Number.prototype, Object);
+    check_equals(Number.prototype, Function);
+    check_equals(Number.prototype, Object.__proto__);
+    check_equals(Number.prototype, null);
+    check_equals(Number.prototype, undefined);
     check(Number.prototype != 0);
     check(Number.prototype != "string");
 #else

Index: testsuite/swfdec/PASSING
===================================================================
RCS file: /sources/gnash/gnash/testsuite/swfdec/PASSING,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -b -r1.117 -r1.118
--- testsuite/swfdec/PASSING    1 Apr 2008 09:26:55 -0000       1.117
+++ testsuite/swfdec/PASSING    2 Apr 2008 10:55:32 -0000       1.118
@@ -408,6 +408,7 @@
 newobject-paths-6.swf:e2e207b7b6966fdffd3a0017cdbf2f1c
 newobject-paths-7.swf:e8af4c2cd51e1b3c5e7ab3121386d0ba
 newobject-paths-8.swf:fc8407413a00bf2e41e27db7e7ec8c9f
+number.swf:3ef5211bf02f128749453b0ea006061d
 number-tostring-radix-5.swf:9c620b9523efbfc2cd30832d38c3d403
 number-tostring-radix-6.swf:82b91ba51d982a8c27dddffd129051df
 number-tostring-radix-7.swf:c6870eb97ffb4af5f99c3a18498de2f5




reply via email to

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