CVSROOT: /sources/gnash Module name: gnash Changes by: Zou Lunkai <zoulunkai> 07/09/04 02:10:09
Modified files: . : ChangeLog testsuite/misc-swfc.all: movieclip_destruction_test1.sc Log message: * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: fix some bogus tests caused by bogus compiler convertion, and a few more tests, all passed. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4207&r2=1.4208 http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-swfc.all/movieclip_destruction_test1.sc?cvsroot=gnash&r1=1.5&r2=1.6 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4207 retrieving revision 1.4208 diff -u -b -r1.4207 -r1.4208 --- ChangeLog 4 Sep 2007 01:06:52 -0000 1.4207 +++ ChangeLog 4 Sep 2007 02:10:08 -0000 1.4208 @@ -1,3 +1,8 @@ +2007-09-04 Zou Lunkai <[EMAIL PROTECTED]> + + * testsuite/misc-swfc.all/movieclip_destruction_test1.sc: fix some bogus tests + caused by bogus compiler convertion, and a few more tests, all passed. + 2007-09-03 Sandro Santilli <[EMAIL PROTECTED]> * server/character.cpp (unload): call queueEventHandler before setting Index: testsuite/misc-swfc.all/movieclip_destruction_test1.sc =================================================================== RCS file: /sources/gnash/gnash/testsuite/misc-swfc.all/movieclip_destruction_test1.sc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -b -r1.5 -r1.6 --- testsuite/misc-swfc.all/movieclip_destruction_test1.sc 3 Sep 2007 09:42:14 -0000 1.5 +++ testsuite/misc-swfc.all/movieclip_destruction_test1.sc 4 Sep 2007 02:10:09 -0000 1.6 @@ -122,37 +122,68 @@ .end -// seperate tests to see if the whole function body get executed? -// yes in this case. +// +// Seperate tests. +// Test that the whole function body still get executed even when +// 'this' object is null(removed by MovieClip.removeMovieClip()). .frame 8 .action: _root.createEmptyMovieClip("mc4", 100); - + mc4Ref = mc4; check_equals(typeof(_root.mc4), 'movieclip'); mc4.func = function (clip) { _root.check_equals(this.valueOf(), mc4); _root.testvar1 = 100; - clip.removeMovieClip(); - _root.xcheck_equals(typeof(_root.mc4), 'undefined'); - _root.xcheck_equals(typeof(this), 'movieclip'); - _root.xcheck_equals(this.valueOf(), null); // this pointer is null! + // don't use clip.removeMovieClip here, to avoid bogus compiler conversion. + // 'removeMovieClip' is converted to lower case with the above format. + // This is a swf7 file. + clip['removeMovieClip'](); + _root.check_equals(typeof(_root.mc4), 'undefined'); + _root.check_equals(typeof(this), 'movieclip'); + _root.check_equals(this.valueOf(), null); // this pointer is null! _root.testvar2 = 200; }; - mc4.fun(mc4); // invoke the function and remove mc + mc4.func(mc4); // invoke the function and remove mc4 + + check_equals(_root.testvar1, 100); + check_equals(_root.testvar2, 200); + check_equals(typeof(_root.mc4), 'undefined'); + .end + +// +// seperate tests. +// similar to tests in frame8, but onUnload is defined for the given movieClip +.frame 10 + .action: + _root.createEmptyMovieClip("mc5", 200); + check_equals(typeof(_root.mc5), 'movieclip'); + + mc5.onUnload = function () {}; // Define onUnload for mc5 - xcheck_equals(_root.testvar1, 100); - xcheck_equals(_root.testvar2, 200); - xcheck_equals(typeof(_root.mc4), 'undefined'); + mc5.func = function (clip) + { + _root.check_equals(this.valueOf(), mc5); + _root.testvar1 = 300; + clip['removeMovieClip'](); + _root.check_equals(typeof(_root.mc5), 'movieclip'); + _root.check_equals(typeof(this), 'movieclip'); + _root.check_equals(this, _root.mc5); + _root.testvar2 = 400; + }; - _root.note(mc4); + mc5.func(mc5); // invoke the function and remove mc5 + + check_equals(_root.testvar1, 300); + check_equals(_root.testvar2, 400); + check_equals(typeof(_root.mc5), 'movieclip'); + check_equals(mc5.getDepth(), -32969); stop(); totals(); .end - .end _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit