CVSROOT: /sources/gnash Module name: gnash Changes by: Zou Lunkai <zoulunkai> 07/10/10 05:20:54
Modified files: . : ChangeLog Added files: testsuite/misc-mtasc.all: function_test.as Removed files: testsuite/misc-mtasc.all: function.as Log message: * testsuite/misc-mtasc.all/function.as, Makefile.am: rename function.as to function_test.as, fix a name conflict in a case insensitive file system. There is a Function.as in mtasc/std. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4581&r2=1.4582 http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-mtasc.all/function_test.as?cvsroot=gnash&rev=1.1 http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-mtasc.all/function.as?cvsroot=gnash&r1=1.9&r2=0 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4581 retrieving revision 1.4582 diff -u -b -r1.4581 -r1.4582 --- ChangeLog 9 Oct 2007 20:19:14 -0000 1.4581 +++ ChangeLog 10 Oct 2007 05:20:54 -0000 1.4582 @@ -1,3 +1,9 @@ +2007-10-00 Zou Lunkai <[EMAIL PROTECTED]> + + * testsuite/misc-mtasc.all/function.as, Makefile.am: rename function.as to + function_test.as, fix a name conflict in a case insensitive file system. There + is a Function.as in mtasc/std. + 2007-10-10 Sandro Santilli <[EMAIL PROTECTED]> * server/swf_function.cpp (call operator): pop call stack frame on Index: testsuite/misc-mtasc.all/function_test.as =================================================================== RCS file: testsuite/misc-mtasc.all/function_test.as diff -N testsuite/misc-mtasc.all/function_test.as --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ testsuite/misc-mtasc.all/function_test.as 10 Oct 2007 05:20:54 -0000 1.1 @@ -0,0 +1,60 @@ +#include "check.as" + +import TestClass; + +class Test extends TestClass +{ + var x; + + function setX(nx) + { + check(!arguments.hasOwnProperty('toString')); + check_equals(arguments.toString(), '2'); + check(arguments instanceof Object); + check_equals(typeof(arguments.__proto__), 'object'); + check_equals(typeof(arguments.__proto__.constructor), 'function'); + check_equals(typeof(arguments.__proto__.constructor.__proto__), 'object'); + check_equals(typeof(arguments.__proto__.constructor.__proto__.constructor), 'function'); + check_equals(arguments.__proto__, arguments.__proto__.constructor.prototype); + check(arguments.__proto__.hasOwnProperty('toString')); + check(arguments.__proto__.toString != Object.prototype.toString); + check(arguments.__proto__ != Object.prototype); + check(arguments.__proto__.constructor.__proto__ != Object.prototype); + check(arguments.__proto__.constructor.__proto__ != Array.prototype); + this.x = nx; + } + + function Test() + { + check_equals(typeof(super), 'object'); + + // This seems to trigger an ActionCallMethod(undefined, super). + // It is expected that the VM fetches super.constructor and calls + // that instead. + // The *this* pointer should be set by the VM as the current one + // at time of ActionCallMethod. + super(); + + // This seems to trigger an ActionCallMethod(myTest, setX). + setX(2); + } + + static function main(mc) + { + var myTest = new Test; + // odd enough, if we output an SWF7 movie, this fails + // with the reference player too ! + check_equals(myTest.TestClassCtorCalled, 'called'); + + // This checks that the 'this' pointer is properly set + // (and shows it's NOT properly set with Gnash) + check_equals(typeof(myTest.__proto__.TestClassCtorCalled), 'undefined'); + + // This checks that the 'this' pointer is properly set for "normal" + // ActionCallMethod (see setX(2) in Test ctor) + check_equals(myTest.x, 2); + check_equals(typeof(myTest.__proto__.x), 'undefined'); + + Dejagnu.done(); + } +} Index: testsuite/misc-mtasc.all/function.as =================================================================== RCS file: testsuite/misc-mtasc.all/function.as diff -N testsuite/misc-mtasc.all/function.as --- testsuite/misc-mtasc.all/function.as 12 Jul 2007 22:03:38 -0000 1.9 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,60 +0,0 @@ -#include "check.as" - -import TestClass; - -class Test extends TestClass -{ - var x; - - function setX(nx) - { - check(!arguments.hasOwnProperty('toString')); - check_equals(arguments.toString(), '2'); - check(arguments instanceof Object); - check_equals(typeof(arguments.__proto__), 'object'); - check_equals(typeof(arguments.__proto__.constructor), 'function'); - check_equals(typeof(arguments.__proto__.constructor.__proto__), 'object'); - check_equals(typeof(arguments.__proto__.constructor.__proto__.constructor), 'function'); - check_equals(arguments.__proto__, arguments.__proto__.constructor.prototype); - check(arguments.__proto__.hasOwnProperty('toString')); - check(arguments.__proto__.toString != Object.prototype.toString); - check(arguments.__proto__ != Object.prototype); - check(arguments.__proto__.constructor.__proto__ != Object.prototype); - check(arguments.__proto__.constructor.__proto__ != Array.prototype); - this.x = nx; - } - - function Test() - { - check_equals(typeof(super), 'object'); - - // This seems to trigger an ActionCallMethod(undefined, super). - // It is expected that the VM fetches super.constructor and calls - // that instead. - // The *this* pointer should be set by the VM as the current one - // at time of ActionCallMethod. - super(); - - // This seems to trigger an ActionCallMethod(myTest, setX). - setX(2); - } - - static function main(mc) - { - var myTest = new Test; - // odd enough, if we output an SWF7 movie, this fails - // with the reference player too ! - check_equals(myTest.TestClassCtorCalled, 'called'); - - // This checks that the 'this' pointer is properly set - // (and shows it's NOT properly set with Gnash) - check_equals(typeof(myTest.__proto__.TestClassCtorCalled), 'undefined'); - - // This checks that the 'this' pointer is properly set for "normal" - // ActionCallMethod (see setX(2) in Test ctor) - check_equals(myTest.x, 2); - check_equals(typeof(myTest.__proto__.x), 'undefined'); - - Dejagnu.done(); - } -} _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit