gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp testsu...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp testsu...
Date: Wed, 21 Nov 2007 22:35:38 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/11/21 22:35:37

Modified files:
        .              : ChangeLog 
        server/vm      : ASHandlers.cpp 
        testsuite/actionscript.all: ops.as 

Log message:
        ActionStringCompare needs versioned string conversion.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4911&r2=1.4912
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.157&r2=1.158
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/ops.as?cvsroot=gnash&r1=1.28&r2=1.29

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4911
retrieving revision 1.4912
diff -u -b -r1.4911 -r1.4912
--- ChangeLog   21 Nov 2007 21:57:51 -0000      1.4911
+++ ChangeLog   21 Nov 2007 22:35:36 -0000      1.4912
@@ -1,5 +1,12 @@
 2007-11-21 Sandro Santilli <address@hidden>
 
+       * server/vm/ASHandlers.cpp (ActionStringCompare):
+         use versioned string conversion.
+       * testsuite/actionscript.all/ops.as: few null/undefined 
+         string comparison tests.
+
+2007-11-21 Sandro Santilli <address@hidden>
+
        * server/vm/ASHandlers.cpp (ActionLessThen, ActionEqual):
          return a number rather then a bool in swf4 or lower.
 

Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -b -r1.157 -r1.158
--- server/vm/ASHandlers.cpp    21 Nov 2007 21:57:51 -0000      1.157
+++ server/vm/ASHandlers.cpp    21 Nov 2007 22:35:37 -0000      1.158
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: ASHandlers.cpp,v 1.157 2007/11/21 21:57:51 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.158 2007/11/21 22:35:37 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1344,7 +1344,8 @@
 //    GNASH_REPORT_FUNCTION;
     as_environment& env = thread.env;
     thread.ensureStack(2);
-    env.top(1).set_bool(env.top(1).to_string() < env.top(0).to_string());
+       int ver = env.get_version();
+       env.top(1).set_bool(env.top(1).to_string_versioned(ver) < 
env.top(0).to_string_versioned(ver));
        env.drop(1);
 }
 

Index: testsuite/actionscript.all/ops.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/ops.as,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- testsuite/actionscript.all/ops.as   21 Nov 2007 06:56:17 -0000      1.28
+++ testsuite/actionscript.all/ops.as   21 Nov 2007 22:35:37 -0000      1.29
@@ -20,7 +20,7 @@
  *  Test binary predicates (equal, less_then, greater_then, logical and 
bitwise ops)
  */
 
-rcsid="$Id: ops.as,v 1.28 2007/11/21 06:56:17 zoulunkai Exp $";
+rcsid="$Id: ops.as,v 1.29 2007/11/21 22:35:37 strk Exp $";
 
 #include "check.as"
 
@@ -350,6 +350,47 @@
 check(z!=y);
 check_equals(z, true);
 
+//------------------------------------------------
+// String comparison (ACTION_STRINGCOMPARE : 0x29)
+//------------------------------------------------
+
+asm {
+       push "z", undefined, null
+       stringlessthan setvariable
+};
+check_equals(typeof(z), 'boolean');
+#if OUTPUT_VERSION < 7
+ check(z);
+#else
+ check(!z);
+#endif
+
+asm {
+       push "z", null, undefined
+       stringlessthan setvariable
+};
+check_equals(typeof(z), 'boolean');
+#if OUTPUT_VERSION < 7
+ check(!z);
+#else
+ check(z);
+#endif
+
+asm {
+       push "z", null, null
+       stringlessthan setvariable
+};
+check_equals(typeof(z), 'boolean');
+check(!z);
+
+asm {
+       push "z", undefined, undefined
+       stringlessthan setvariable
+};
+check_equals(typeof(z), 'boolean');
+check(!z);
+
+// TODO: add saner tests for stringcompare here
 
 //------------------------------------------------
 // Bitwise AND operator (ACTION_BITWISEAND : 0x60)
@@ -688,7 +729,7 @@
 check(isNaN(y));
 
 #if OUTPUT_VERSION < 7
- totals(205);
+ totals(213);
 #else
- totals(207);
+ totals(215);
 #endif




reply via email to

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