var bufferCache = []; var utils = SpecialPowers.getDOMWindowUtils(window);
function getBuffer(size) {
let buffer = new ArrayBuffer(size);
is(buffer.byteLength, size, "Correct byte length"); return buffer;
}
function getRandomBuffer(size) {
let buffer = getBuffer(size);
let view = new Uint8Array(buffer); for (let i = 0; i < size; i++) {
view[i] = parseInt(Math.random() * 255);
} return buffer;
}
function getView(size) {
let buffer = new ArrayBuffer(size);
let view = new Uint8Array(buffer);
is(buffer.byteLength, size, "Correct byte length"); return view;
}
function getRandomView(size) {
let view = getView(size); for (let i = 0; i < size; i++) {
view[i] = parseInt(Math.random() * 255);
} return view;
}
function compareBuffers(buffer1, buffer2) { if (buffer1.byteLength != buffer2.byteLength) { returnfalse;
}
let view1 = buffer1 instanceof Uint8Array ? buffer1 : new Uint8Array(buffer1);
let view2 = buffer2 instanceof Uint8Array ? buffer2 : new Uint8Array(buffer2); for (let i = 0; i < buffer1.byteLength; i++) { if (view1[i] != view2[i]) { returnfalse;
}
} returntrue;
}
function getBlob(type, view) { returnnew Blob([view], { type });
}
function getFile(name, type, view) { returnnew File([view], name, { type });
}
function getRandomBlob(size) { return getBlob("binary/random", getRandomView(size));
}
function getRandomFile(name, size) { return getFile(name, "binary/random", getRandomView(size));
}
function getNullBlob(size) { return getBlob("binary/null", getView(size));
}
function getNullFile(name, size) { return getFile(name, "binary/null", getView(size));
}
function getWasmModule(binary) {
let module = new WebAssembly.Module(binary); return module;
}
function verifyBuffers(buffer1, buffer2) {
ok(compareBuffers(buffer1, buffer2), "Correct buffer data");
}
function verifyBlobProperties(blob1, blob2, fileId) { // eslint-disable-next-line mozilla/use-cc-etc
is(SpecialPowers.wrap(Blob).isInstance(blob1), true, "Instance of Blob");
is(blob1 instanceof File, blob2 instanceof File, "Instance of DOM File");
is(blob1.size, blob2.size, "Correct size");
is(blob1.type, blob2.type, "Correct type"); if (blob2 instanceof File) {
is(blob1.name, blob2.name, "Correct name");
}
is(utils.getFileId(blob1), fileId, "Correct file id");
}
function verifyWasmModule(module1, module2) { // We assume the given modules have no imports and export a single function // named 'run'. var instance1 = new WebAssembly.Instance(module1); var instance2 = new WebAssembly.Instance(module2);
is(instance1.exports.run(), instance2.exports.run(), "same run() result");
continueToNextStep();
}
function grabFileUsageAndContinueHandler(request) {
testGenerator.next(request.result.fileUsage);
}
function getCurrentUsage(usageHandler) {
let qms = SpecialPowers.Services.qms;
let principal = SpecialPowers.wrap(document).effectiveStoragePrincipal;
let cb = SpecialPowers.wrapCallback(usageHandler);
qms.getUsageForPrincipal(principal, cb);
}
function getFileId(file) { return utils.getFileId(file);
}
function getFilePath(file) { return utils.getFilePath(file);
}
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.