gecko-dev/testing/mochitest/tests/browser/browser_getTestFile.js

56 строки
1.5 KiB
JavaScript

function test() {
let { Promise } = ChromeUtils.import("resource://gre/modules/Promise.jsm");
const { OS } = ChromeUtils.import("resource://gre/modules/osfile.jsm");
let decoder = new TextDecoder();
waitForExplicitFinish();
SimpleTest.doesThrow(function() {
getTestFilePath("/browser_getTestFile.js");
}, "getTestFilePath rejects absolute paths");
Promise.all([
OS.File.exists(getTestFilePath("browser_getTestFile.js")).then(function(
exists
) {
ok(exists, "getTestFilePath consider the path as being relative");
}),
OS.File.exists(getTestFilePath("./browser_getTestFile.js")).then(function(
exists
) {
ok(exists, "getTestFilePath also accepts explicit relative path");
}),
OS.File.exists(getTestFilePath("./browser_getTestFileTypo.xul")).then(
function(exists) {
ok(!exists, "getTestFilePath do not throw if the file doesn't exists");
}
),
OS.File.read(getTestFilePath("test-dir/test-file")).then(function(array) {
is(
decoder.decode(array),
"foo\n",
"getTestFilePath can reach sub-folder files 1/2"
);
}),
OS.File.read(getTestFilePath("./test-dir/test-file")).then(function(array) {
is(
decoder.decode(array),
"foo\n",
"getTestFilePath can reach sub-folder files 2/2"
);
}),
]).then(
function() {
finish();
},
function(error) {
ok(false, error);
finish();
}
);
}