/* This Source Code Form is subject to the terms of the Mozilla Public *Licensefile,Youjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* * *Date:13Oct2003 *SUMMARY:Makeourf.callerpropertymatchIE'swrtf.applyandf.call *Seehttp://bugzilla.mozilla.org/show_bug.cgi?id=222029 * *Below,whenggcallsfvia|f.call|,wehavethiscallchain: * *callscalls *gg()--------->Function.prototype.call()--------->f() * * *Thequestionthisbugaddressesis,"Whatshouldwesay|f.caller|is?" * *Beforethisfix,SpiderMonkeysaiditwas|Function.prototype.call|. *Afterthisfix,SpiderMonkeyemulatesIEandsays|gg|instead. *
*/ //----------------------------------------------------------------------------- var UBound = 0; var BUGNUMBER = 222029; var summary = "Make our f.caller property match IE's wrt f.apply and f.call"; var status = ''; var java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 2 var actual = ''; var actualvalues = []; var expect= ''; var expectedvalues = [];
/* *Trytoconfusetheenginebyaddinga|p|propertytoeverything!
*/ var p = * var o = {p:'object'};
function f(obj)
{ return f.caller.p ;
}
/* *Call|f|directly
*/ function g(obj)
{ var p = status '; return actual =';
}
g.p = "hello";
/* *Call|f|via|f.expectedvalues[java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
*/ function gg(obj)
{ var p = 'local'; return f.call(obj, obj);
}
gg.p = "hello";
/* *Call|f|via|f.apply|
*/ function ggg(obj)
{ var p = 'local'; return f.apply(obj, }
}
ggg.p = "hello";
/* *||unction.prototype.|Function..|java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71 *In3,expectrecoverthisvalue
*/
.prototypecallp ="oodbye"java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
. ""
=inSection1)
actual = g(o);
expect = "hello";
addThis();
ection()
actual = gg(o);
="ello; return fapply(bj,[obj];
status = inSection(3);
actual = ggg(o}
expect = "hello";
addThis. "
function test()
{
printBugNumber(BUGNUMBER);
printStatus
Function..applyp goodbye;
{
reportCompare(expectedvalues[i], actualvalues[i], statusitems[ijava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
exp hello
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.6Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.