[Top][All Lists]
[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