CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 08/01/17 18:34:36
Modified files: . : ChangeLog testsuite/actionscript.all: getvariable.as Log message: add absurd tests about getvariable/setvariable paths... See bug #21883. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5425&r2=1.5426 http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/getvariable.as?cvsroot=gnash&r1=1.21&r2=1.22 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.5425 retrieving revision 1.5426 diff -u -b -r1.5425 -r1.5426 --- ChangeLog 17 Jan 2008 15:25:35 -0000 1.5425 +++ ChangeLog 17 Jan 2008 18:34:35 -0000 1.5426 @@ -1,3 +1,8 @@ +2008-01-17 Sandro Santilli <[EMAIL PROTECTED]> + + * testsuite/actionscript.all/getvariable.as: add absurd tests + about getvariable/setvariable paths... See bug #21883. + 2008-01-17 Benjamin Wolsey <[EMAIL PROTECTED]> * libbase/rc.{h,cpp}: enable writing of rcfiles (updateFile). Add function Index: testsuite/actionscript.all/getvariable.as =================================================================== RCS file: /sources/gnash/gnash/testsuite/actionscript.all/getvariable.as,v retrieving revision 1.21 retrieving revision 1.22 diff -u -b -r1.21 -r1.22 --- testsuite/actionscript.all/getvariable.as 22 Nov 2007 21:45:41 -0000 1.21 +++ testsuite/actionscript.all/getvariable.as 17 Jan 2008 18:34:36 -0000 1.22 @@ -19,7 +19,7 @@ // compile this test case with Ming makeswf, and then // execute it like this gnash -1 -r 0 -v out.swf -rcsid="$Id: getvariable.as,v 1.21 2007/11/22 21:45:41 strk Exp $"; +rcsid="$Id: getvariable.as,v 1.22 2008/01/17 18:34:36 strk Exp $"; #include "check.as" @@ -303,6 +303,29 @@ check_equals(obj.variable_in_object, 'yes'); check_equals(typeof(_root['obj::::variable_in_object']), 'undefined'); +asm { + push 'obj:variable_in_object' + push 'yes3' + setvariable +}; +check_equals(obj.variable_in_object, 'yes3'); + +asm { + push 'obj::variable_in_object' + push 'yes4' + setvariable +}; +xcheck_equals(obj.variable_in_object, 'yes4'); + +// NOTE: 'obj:::variable_in_object' is invalid, while +// 'obj::variable_in_object' is valid - AARagagag +asm { + push 'obj:::variable_in_object' + push 'yes5' + setvariable +}; +xcheck_equals(obj.variable_in_object, 'yes4'); + //--------------------------------------------------------------------- // Check 'mc1:variable_in_object' access //--------------------------------------------------------------------- @@ -439,6 +462,21 @@ check_equals(checkpoint, 4); //--------------------------------------------------------------------- +// Check 'obj1..obj2.member' access +// (expect to fail) +//--------------------------------------------------------------------- + +var o2 = { memb:4 }; +var o = { obj2:o2 }; +asm { + push 'checkpoint' + push 'o..obj2.memb' + getvariable + setvariable +}; +check_equals(typeof(checkpoint), 'undefined'); + +//--------------------------------------------------------------------- // Check 'obj1.globalvar' // (expect to fail) //--------------------------------------------------------------------- @@ -484,6 +522,45 @@ check_equals(objmemb, 3); //----------------------------------------------------------------------- +// Check '::obj:member' access +//----------------------------------------------------------------------- + +var obj = { memb:4 }; +asm { + push 'objmemb' + push '::obj:memb' + getvariable + setvariable +}; +xcheck_equals(objmemb, 4); + +//----------------------------------------------------------------------- +// Check '::obj::member' access +//----------------------------------------------------------------------- + +var obj = { memb:4.4 }; +asm { + push 'objmemb' + push '::obj::memb' + getvariable + setvariable +}; +xcheck_equals(objmemb, 4.4); + +//----------------------------------------------------------------------- +// Check '::obj.member' access +//----------------------------------------------------------------------- + +var obj = { memb:4 }; +asm { + push 'objmemb' + push '::obj.memb' + getvariable + setvariable +}; +xcheck_equals(objmemb, 4); + +//----------------------------------------------------------------------- // Check 'this/:member' access (and deletion) //----------------------------------------------------------------------- @@ -610,9 +687,9 @@ //----------------------------------------------------------------------- #if OUTPUT_VERSION < 6 - xcheck_totals(45); // gnash runs +2 tests ?! + xcheck_totals(52); // gnash runs +2 tests ?! #else - xcheck_totals(50); // gnash runs +2 tests ?! + xcheck_totals(57); // gnash runs +2 tests ?! #endif #else // ndef MING_SUPPORT_ASM _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit