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.js55
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();
+ }
+ );
+}