diff options
Diffstat (limited to 'testing/mochitest/tests/browser/browser_getTestFile.js')
-rw-r--r-- | testing/mochitest/tests/browser/browser_getTestFile.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/testing/mochitest/tests/browser/browser_getTestFile.js b/testing/mochitest/tests/browser/browser_getTestFile.js new file mode 100644 index 000000000..99456b633 --- /dev/null +++ b/testing/mochitest/tests/browser/browser_getTestFile.js @@ -0,0 +1,44 @@ +function test() { + let {Promise} = Components.utils.import("resource://gre/modules/Promise.jsm"); + Components.utils.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(); + }); +} |