CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/10/04 08:18:13
Modified files: . : ChangeLog testsuite/actionscript.all: MovieClip.as Log message: * testsuite/actionscript.all/MovieClip.as: add test showing that it's NOT *unload* of sprite triggering soft-references rebinding but rather *destroy* of them ! CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4517&r2=1.4518 http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/MovieClip.as?cvsroot=gnash&r1=1.94&r2=1.95 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4517 retrieving revision 1.4518 diff -u -b -r1.4517 -r1.4518 --- ChangeLog 3 Oct 2007 21:43:04 -0000 1.4517 +++ ChangeLog 4 Oct 2007 08:18:11 -0000 1.4518 @@ -1,3 +1,9 @@ +2007-10-04 Sandro Santilli <[EMAIL PROTECTED]> + + * testsuite/actionscript.all/MovieClip.as: add test showing + that it's NOT *unload* of sprite triggering soft-references + rebinding but rather *destroy* of them ! + 2007-10-03 Tomas Groth Christensen <[EMAIL PROTECTED]> * libbase/Makefile.am: Added BitsReader.{h,cpp} Index: testsuite/actionscript.all/MovieClip.as =================================================================== RCS file: /sources/gnash/gnash/testsuite/actionscript.all/MovieClip.as,v retrieving revision 1.94 retrieving revision 1.95 diff -u -b -r1.94 -r1.95 --- testsuite/actionscript.all/MovieClip.as 3 Oct 2007 13:01:22 -0000 1.94 +++ testsuite/actionscript.all/MovieClip.as 4 Oct 2007 08:18:12 -0000 1.95 @@ -20,7 +20,7 @@ // compile this test case with Ming makeswf, and then // execute it like this gnash -1 -r 0 -v out.swf -rcsid="$Id: MovieClip.as,v 1.94 2007/10/03 13:01:22 strk Exp $"; +rcsid="$Id: MovieClip.as,v 1.95 2007/10/04 08:18:12 strk Exp $"; #include "check.as" @@ -542,7 +542,7 @@ // // 1. Original target of a re-bound target isn't used for further // rebounding. -// 2. No rebind is attempted till the original sprite is unloaded. +// 2. No rebind is attempted till the original sprite is destroyed (not simply unloaded!) // 3. After original bounded sprite is unloaded, rebinding is *always* // attempted. // @@ -635,6 +635,40 @@ check_equals(sr63_bis.member, 'hardref4_64'); check_equals(sr64.member, 'hardref4_64'); +// Now check that unloaded-but-not-destroyed sprite +// do NOT trigger rebinding +sr59 = createEmptyMovieClip("hardref5", 59); +sr59.member = "[EMAIL PROTECTED]"; +sr59.onUnload = function() {}; +sr60 = createEmptyMovieClip("hardref5", 60); +sr60.member = "[EMAIL PROTECTED]"; +sr60.onUnload = function() {}; +check_equals(sr59.getDepth(), 59); +check_equals(sr60.getDepth(), 60); +check_equals(sr59._target, "/hardref5"); +check_equals(sr60._target, "/hardref5"); +sr60.removeMovieClip(); +check_equals(sr59.getDepth(), 59); +check_equals(sr60.getDepth(), -32829); +check_equals(sr59._target, "/hardref5"); +check_equals(sr60._target, "/hardref5"); +sr59.removeMovieClip(); +// sr59, despite the fact [EMAIL PROTECTED] was unloaded, still +// points to the original sprite. This means no rebind is +// attempted, otherwise [EMAIL PROTECTED] will be found first +// being at a lower depth +check_equals(hardref5.getDepth(), -32829); +check_equals(hardref5._target, "/hardref5"); +check_equals(hardref5.member, "[EMAIL PROTECTED]"); +// Gnash fails because it's "unload" event triggering rebinding +// rather then "destroy" event (unsupported in Gnash). +xcheck_equals(sr59.getDepth(), -32828); +xcheck_equals(sr59.member, "[EMAIL PROTECTED]"); +check_equals(sr59._target, "/hardref5"); +check_equals(sr60.getDepth(), -32829); +check_equals(sr60._target, "/hardref5"); +check_equals(sr60.member, "[EMAIL PROTECTED]"); + #endif // OUTPUT_VERSION >= 6 //---------------------------------------------- _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit