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