michael@0: "use strict"; michael@0: michael@0: Components.utils.import("resource://gre/modules/osfile.jsm"); michael@0: michael@0: function run_test() { michael@0: run_next_test(); michael@0: } michael@0: michael@0: // Check if Scheduler.queue returned by OS.File.queue is resolved initially. michael@0: add_task(function* check_init() { michael@0: yield OS.File.queue; michael@0: do_print("Function resolved"); michael@0: }); michael@0: michael@0: // Check if Scheduler.queue returned by OS.File.queue is resolved michael@0: // after an operation is successful. michael@0: add_task(function* check_success() { michael@0: do_print("Attempting to open a file correctly"); michael@0: let openedFile = yield OS.File.open(OS.Path.join(do_get_cwd().path, "test_queue.js")); michael@0: do_print("File opened correctly"); michael@0: yield OS.File.queue; michael@0: do_print("Function resolved"); michael@0: }); michael@0: michael@0: // Check if Scheduler.queue returned by OS.File.queue is resolved michael@0: // after an operation fails. michael@0: add_task(function* check_failure() { michael@0: let exception; michael@0: try { michael@0: do_print("Attempting to open a non existing file"); michael@0: yield OS.File.open(OS.Path.join(".", "Bigfoot")); michael@0: } catch (err) { michael@0: exception = err; michael@0: yield OS.File.queue; michael@0: } michael@0: do_check_true(exception!=null); michael@0: do_print("Function resolved"); michael@0: });