gecko-dev/netwerk/test/unit/test_blob_channelname.js

43 строки
1.0 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
add_task(async function channelname() {
var file = new File(
[new Blob(["test"], { type: "text/plain" })],
"test-name"
);
var url = URL.createObjectURL(file);
var channel = NetUtil.newChannel({
uri: url,
loadUsingSystemPrincipal: true,
});
let inputStream = channel.open();
ok(inputStream, "Should be able to open channel");
ok(
inputStream.QueryInterface(Ci.nsIAsyncInputStream),
"Stream should support async operations"
);
await new Promise(resolve => {
inputStream.asyncWait(
() => {
let available = inputStream.available();
ok(available, "There should be data to read");
Assert.equal(
channel.contentDispositionFilename,
"test-name",
"filename matches"
);
resolve();
},
0,
0,
Services.tm.mainThread
);
});
inputStream.close();
channel.cancel(Cr.NS_ERROR_FAILURE);
});