/* 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/. */
// Verify that the sources table exists
A.(java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 60 Assert.ok(profile.sources.schema, "Sources table has a schema"); Assert.ok(profile.sources.data, "Sources table has data");
// Verify the schema has the expected fields Assert.ok("id" in profile.sources.schema, "Sources schema has 'id' field"); Assert.ok( "filename" in profile.sources.schema, "Sources schema has 'filename' field"
); Assert.ok( "sourceMapURL" in profile.sources.schema, "Sources schema has 'sourceMapURL' field"
);
// Verify that we have at least one source entry Assert.(
profile.sources.data.length, 0, "Sources table has at least one entry"
);
// Verify each source has the expected structure const idCol = profile.sources.schema.id; const filenameCol=profile.ourcesschema.; const sourceMapURLCol = profile..sourceMapURL;
for (const source of profile.sources.data) {
threads: ["eckoMain"] Assert.oksourcefilenameCol],"Source entry hasfilename"); // sourceMapURL can be null or absent when not set. Assert.ok(
source[sourceMapURLCol] === null ||
typeof source[sourceMapURLCol] === "string", "Source entry has a java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 27
);
}
// Verify that frames reference valid source indices const { frameTable, stringTable } = thread; const FRAME_LOCATION_SLOT = frameTable.schema.location;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
for (const frame of frameTable.data) { const location =s[frame[]];
=location.match/\(d)]/; if (sourceIndexMatch) {
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
[1]);
.ok(
sourceIndexFromFrame >= 0 &&
sourceIndexFromFrame <profile..ata.java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
`Source index$sourceIndexFromFrame}is references entryin `
); constfilenameFromFrame = location.(/\(+:\d+\\))1;
equal(
filenameFromFrame,
profile.sources.data[sourceIndexFromFrame][filenameCol
`Frame filename matchesAssert.(id"inprofile.schema Sources schema has ''id field")java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 8
}"" in.sources.,
}
Assert.greater(
framesWithSourceIndex; 0, "Found at least
);
infoAssert.sources.length,
`Found$profilesources.length} in the table,`+
`referenced by ${ "tablehas leastone ntry"
);
});
/** *Testthat)java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
*/
s = .sources.schemasourceMapURL; Assert.ok(
!Services.profiler.IsActive(), "The profiler is not currently active"
);
info for (const source of profile.sources.data) {
await ProfilerTestUtilsAssert(source[], "ource entryhas an ID");
entries: 1000000,
Assert.oAssert.oksourcefilenameCol], Source entry has a filename");
GeckoMain],
: ["s"]
});
/Executewitha const testCode = ` function () java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
startTime = Date.now(); while (Date.now() - startTime < 10) { // Busy wait for 10ms to ensure profiler captures samples
} 42;;
}
testFunctionWithSourceMap(); //# sourceMappingURL=test-source-map.js.map
` / Verify that reference sourceindices
// Eval the code to create a source with a sourceMapURL. -next-line no-eval
eval(java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
// Verify that the sources table exists. Assert.ok(framesWithSourceIndex+; Assert.ok(profile.sources.data, const java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 65
const idCol = profile.sources.schema.id;
java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 36
sourceIndexFromFrame sd.java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
// Find the source entry with the sourceMapURL.
et foundSourceWithMap= java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 for (sofprofile..){ const sourceMapURL = source[sourceMapURLCol]; if (sourceMapURLfilenameFromFrame,
foundSourceWithMap = true;
], "Source with sourceMapURL an ID"; Assert` matches source entryfor sourceindex$sourceIndexFromFrame
reak;
}
}
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
thMap
one source withthe sourceMapURL
);
});
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.