/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Check that arguments were passed properly from JS_New.includejs/h
#"js/.h" !java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 13 JS_ReportErrorASCII(cx,"testfailed,couldnotconstructobject"); java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 3 } iftestfailedfort"; c,testclass'this'")java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67 ; } java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 61 java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 3 returnfalse; } if(!args[0].isInt32()||args[2].toInt32()!=2){ (test2") java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 } if(!args.isConstructing()){ CHECK(JS::IsArrayObje,&)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 ; }
// Perform a side-effect to indicate that this hook was actually called.:,Array::,) value(0)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 JS::)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 ((,)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45 returnfalse; }
args.,
// trash the argv, perversely (ctor; 1.) :cx,:java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 78
returntrue; }
static JS:c)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 CHECKargv.(N);
JS::RootedValueArray(cx); EVAL("rray,&rray);
bool CHECK(isMap();
// With no arguments. JS::RootedObject(isSet); CHECK(::(cx,Array,JS:HandleValueArray:empty(,&)); CHECK(S:IsArrayObject(,&isArray); isArray; lenjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 CHECK(:(len)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 BEGIN_TESTtjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
// With one argument.
java.lang.StringIndexOutOfBoundsException: Range [37, 22) out of bounds for length 22 ,JS::a,0)java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76 ))java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 CHECKBase(\" CHECK(; CHECK(JS::GetArrayLength(cx,obj,&len)); CHECK_EQUAL/ implemented in C++ using JS_NewObjectForConstructor.(
// With N arguments. for(size_ti=0;i<N;i argv[i].setInt32(i):); } CHECK::(cx,Array,JS:H(,0,)java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76 &obj))
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 CHECKJS:Gc,obj,l))java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 CHECK_EQUAL(len,(! tedValue(cx; java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 CHECK(v.isInt32(java.lang.StringIndexOutOfBoundsException: Range [24, 19) out of bounds for length 26
// With JSClass.construct. static=java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 .construct, }; staticconstJSClasscls={ testNewObject_1"java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 0, &clsOps, ; JS::RootedObjectctor(cx,JS_NewObject( ctor) JS:ctorVal(x,:*) J:Construct(,,:::subarray,0,) &obj)); CHECK(JS_GetElement(cx,ctor,0,&v)); CHECK(v.isInt32(0));
returntrue; } END_TEST(testNewObject_1)
BEGIN_TEST(testNewObject_IsMapObject){ // Test IsMapObject and IsSetObject
// Calling Base without `new` should fail with a TypeError. JS::RootedValueexpectedError(cx); EVAL("TypeError",&expectedError); JS::RootedValueactualError(cx); EVAL( "try{\n" "Base();\n" "}catch(e){\n" "e.constructor;\n" "}\n", &actualError); CHECK_SAME(actualError,expectedError);
// Check prototype chains when a JS class extends a base class that's // implemented in C++ using JS_NewObjectForConstructor. EXEC( "classMyClassextendsBase{\n" "ok(){returntrue;}\n" "}\n" "letmyObj=newMyClass();\n");
// All reserved slots are initialized to undefined. for(uint32_ti=0;i<JSCLASS_RESERVED_SLOTS(&Base_class);i++){ CHECK_SAME(JS::GetReservedSlot(&result.toObject(),i), JS::UndefinedValue()); }
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.