add_task(async function () {
do_get_profile();
let existingFile = Services.dirsvc
.QueryInterface(Ci.nsIProperties)
.get("ProfD" , Ci.nsIFile);
existingFile.append("exists.js" );
existingFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
var outStream = Cc[
"@mozilla.org/network/file-output-stream;1"
].createInstance(Ci.nsIFileOutputStream);
outStream.init(
existingFile,
0x02 | 0x08 | 0x20, // write, create, truncate
0o666,
0
);
var fileData = "Hello World!" ;
outStream.write(fileData, fileData.length);
outStream.close();
ok(existingFile.exists(), "exists.js exists" );
let unknownFile = Services.dirsvc
.QueryInterface(Ci.nsIProperties)
.get("TmpD" , Ci.nsIFile);
unknownFile.append("wow.txt" );
ok(!unknownFile.exists(), unknownFile.path + " doesn't exist" );
let a = await File.createFromNsIFile(existingFile, { existenceCheck: false });
Assert .notEqual(a.size, 0, "The size is correctly set" );
let b = await File.createFromNsIFile(unknownFile, { existenceCheck: false });
Assert .equal(b.size, 0, "The size is 0 for unknown file" );
let c = await File.createFromNsIFile(existingFile, { existenceCheck: true });
Assert .notEqual(c.size, 0, "The size is correctly set" );
let d = await File.createFromNsIFile(unknownFile, {
existenceCheck: true ,
}).then(
_ => true ,
_ => false
);
Assert .strictEqual(d, false , "Exception thrown" );
existingFile.remove(true );
ok(!existingFile.exists(), "exists.js doesn't exist anymore" );
});
Messung V0.5 C=99 H=100 G=99
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland