let receivedBlob = false;
let receivedSlice = false;
let resolveBlob, resolveSlice;
let blobPromise = new Promise(resolve => {
resolveBlob = resolve;
});
let slicePromise = new Promise(resolve => {
resolveSlice = resolve;
});
let mm = page.browser.messageManager;
mm.addMessageListener(messageName, function (message) { if ("blob" in message.data) {
equal(receivedBlob, false, "Have not yet received Blob");
equal(receivedSlice, false, "Have not yet received Slice");
receivedBlob = true;
let blob = message.data.blob;
ok(Blob.isInstance(blob), "Received a Blob");
equal(blob.size, blobText.length, "Blob has correct size");
equal(blob.type, blobType, "Blob has correct type");
ok(Blob.isInstance(slice), "Slice returned a Blob");
equal(
slice.size,
blobData[blobData.length - 1].length, "Slice has correct size"
);
equal(slice.type, blobType, "Slice has correct type");
let reader = new FileReader();
reader.onload = function () {
equal(
reader.result,
blobData[blobData.length - 1], "Slice has correct data"
);
resolveBlob();
};
reader.readAsText(slice);
} elseif ("slice" in message.data) {
equal(receivedBlob, true, "Already received Blob");
equal(receivedSlice, false, "Have not yet received Slice");
receivedSlice = true;
let slice = message.data.slice;
ok(Blob.isInstance(slice), "Received a Blob for slice");
equal(slice.size, sliceText.length, "Slice has correct size");
equal(slice.type, blobType, "Slice has correct type");
let reader = new FileReader();
reader.onload = function () {
equal(reader.result, sliceText, "Slice has correct data");
let slice2 = slice.slice(1, 2, blobType);
ok(Blob.isInstance(slice2), "Slice returned a Blob");
equal(slice2.size, 1, "Slice has correct size");
equal(slice2.type, blobType, "Slice has correct type");
let reader2 = new FileReader();
reader2.onload = function () {
equal(reader2.result, sliceText[1], "Slice has correct data");
resolveSlice();
};
reader2.readAsText(slice2);
};
reader.readAsText(slice);
} else {
ok(false, "Received a bad message: " + JSON.stringify(message.data));
}
});
await blobPromise;
await slicePromise;
await page.close();
});
Messung V0.5
¤ Dauer der Verarbeitung: 0.25 Sekunden
(vorverarbeitet)
¤
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.