summaryrefslogtreecommitdiffstats
path: root/testing/mochitest/tests/browser/browser_getTestFile.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mochitest/tests/browser/browser_getTestFile.js')
-rw-r--r--testing/mochitest/tests/browser/browser_getTestFile.js44
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();
+ });
+}