CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/08/02 17:35:57
Modified files: . : ChangeLog server : as_value.cpp testsuite/actionscript.all: ops.as Log message: * server/as_value.cpp (equals) : fix true==1 and true!=2 (was failing). CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3915&r2=1.3916 http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_value.cpp?cvsroot=gnash&r1=1.60&r2=1.61 http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/ops.as?cvsroot=gnash&r1=1.5&r2=1.6 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.3915 retrieving revision 1.3916 diff -u -b -r1.3915 -r1.3916 --- ChangeLog 2 Aug 2007 17:21:37 -0000 1.3915 +++ ChangeLog 2 Aug 2007 17:35:56 -0000 1.3916 @@ -1,5 +1,7 @@ 2007-08-02 Sandro Santilli <[EMAIL PROTECTED]> + * server/as_value.cpp (equals) : fix true==1 and true!=2 + (was failing). * server/vm/ASHandlers.cpp: shift right/left : take undefined values as zeroes. * testsuite/actionscript.all/ops.as: minor additions, xcheck to Index: server/as_value.cpp =================================================================== RCS file: /sources/gnash/gnash/server/as_value.cpp,v retrieving revision 1.60 retrieving revision 1.61 diff -u -b -r1.60 -r1.61 --- server/as_value.cpp 25 Jul 2007 16:27:55 -0000 1.60 +++ server/as_value.cpp 2 Aug 2007 17:35:57 -0000 1.61 @@ -651,12 +651,10 @@ else if (m_type == NUMBER && v.m_type == STRING) { return equalsSameType(v.to_number(env)); // m_number_value == v.to_number(env); - //return m_number_value == v.to_number(env); } else if (v.m_type == NUMBER && m_type == STRING) { - return v.equalsSameType(to_number(env)); // m_number_value == v.to_number(env); - //return v.m_number_value == to_number(env); + return v.equalsSameType(to_number(env)); // v.m_number_value == to_number(env); } else if (m_type == STRING) { @@ -664,7 +662,11 @@ } else if (m_type == BOOLEAN) { - return m_boolean_value == v.to_bool(); + return as_value(to_number(env)).equals(v); // m_boolean_value == v.to_bool(); + } + else if (v.m_type == BOOLEAN) + { + return as_value(v.to_number()).equals(*this); } else if (m_type == OBJECT || m_type == AS_FUNCTION) Index: testsuite/actionscript.all/ops.as =================================================================== RCS file: /sources/gnash/gnash/testsuite/actionscript.all/ops.as,v retrieving revision 1.5 retrieving revision 1.6 diff -u -b -r1.5 -r1.6 --- testsuite/actionscript.all/ops.as 2 Aug 2007 17:21:37 -0000 1.5 +++ testsuite/actionscript.all/ops.as 2 Aug 2007 17:35:57 -0000 1.6 @@ -20,7 +20,7 @@ * Test binary predicates (equal, less_then, greater_then, logical and bitwise ops) */ -rcsid="$Id: ops.as,v 1.5 2007/08/02 17:21:37 strk Exp $"; +rcsid="$Id: ops.as,v 1.6 2007/08/02 17:35:57 strk Exp $"; #include "check.as" @@ -38,10 +38,10 @@ check(undefined == undefined); check(null==undefined); check(undefined==null); -xcheck(1==true); +check(1==true); check(true==1); check(2!=true); -xcheck(true!=2); +check(true!=2); check_equals(1+true, 2); check_equals(true+1, 2); check_equals(1+false, 1); @@ -199,7 +199,7 @@ x = 0; y = 0.0001; z = x || y; -xcheck(z!=y); +check(z!=y); check_equals(z, true); x = 0; @@ -258,7 +258,7 @@ x = 0; y = new String("0"); z = x || y; -xcheck(z!=y); +check(z!=y); check_equals(z, true); _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit