diff options
Diffstat (limited to 'toolkit/components/osfile/tests/xpcshell/test_queue.js')
-rw-r--r-- | toolkit/components/osfile/tests/xpcshell/test_queue.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/toolkit/components/osfile/tests/xpcshell/test_queue.js b/toolkit/components/osfile/tests/xpcshell/test_queue.js new file mode 100644 index 0000000000..e6e6f841c3 --- /dev/null +++ b/toolkit/components/osfile/tests/xpcshell/test_queue.js @@ -0,0 +1,34 @@ +"use strict"; + +const { OS } = ChromeUtils.import("resource://gre/modules/osfile.jsm"); + +// Check if Scheduler.queue returned by OS.File.queue is resolved initially. +add_task(async function check_init() { + await OS.File.queue; + info("Function resolved"); +}); + +// Check if Scheduler.queue returned by OS.File.queue is resolved +// after an operation is successful. +add_task(async function check_success() { + info("Attempting to open a file correctly"); + await OS.File.open(OS.Path.join(do_get_cwd().path, "test_queue.js")); + info("File opened correctly"); + await OS.File.queue; + info("Function resolved"); +}); + +// Check if Scheduler.queue returned by OS.File.queue is resolved +// after an operation fails. +add_task(async function check_failure() { + let exception; + try { + info("Attempting to open a non existing file"); + await OS.File.open(OS.Path.join(".", "Bigfoot")); + } catch (err) { + exception = err; + await OS.File.queue; + } + Assert.ok(exception != null); + info("Function resolved"); +}); |