diff options
Diffstat (limited to 'testing/mochitest/tests/browser/browser_getTestFile.js')
-rw-r--r-- | testing/mochitest/tests/browser/browser_getTestFile.js | 55 |
1 files changed, 55 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 0000000000..d1b0287dde --- /dev/null +++ b/testing/mochitest/tests/browser/browser_getTestFile.js @@ -0,0 +1,55 @@ +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(); + } + ); +} |