diff options
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js b/toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js index 2a6ff291e..7599c8b80 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js @@ -12,8 +12,8 @@ testFile.append("DeferredSaveTest"); Components.utils.import("resource://gre/modules/Promise.jsm"); -var DSContext = Components.utils.import("resource://gre/modules/DeferredSave.jsm", {}); -var DeferredSave = DSContext.DeferredSave; +let DSContext = Components.utils.import("resource://gre/modules/DeferredSave.jsm", {}); +let DeferredSave = DSContext.DeferredSave; // Test wrapper to let us do promise/task based testing of DeferredSave function DeferredSaveTester(aDataProvider) { @@ -67,7 +67,7 @@ function DeferredSaveTester(aDataProvider) { }; return tester; -} +}; /** * Install a mock nsITimer factory that triggers on the next spin of @@ -147,7 +147,7 @@ function run_test() { } // Modify set data once, ask for save, make sure it saves cleanly -add_task(function* test_basic_save_succeeds() { +add_task(function test_basic_save_succeeds() { setQuickMockTimer(); let tester = DeferredSaveTester(); let data = "Test 1 Data"; @@ -159,7 +159,7 @@ add_task(function* test_basic_save_succeeds() { // Two saves called during the same event loop, both with callbacks // Make sure we save only the second version of the data -add_task(function* test_two_saves() { +add_task(function test_two_saves() { setQuickMockTimer(); let tester = DeferredSaveTester(); let firstCallback_happened = false; @@ -182,7 +182,7 @@ add_task(function* test_two_saves() { // Two saves called with a delay in between, both with callbacks // Make sure we save the second version of the data -add_task(function* test_two_saves_delay() { +add_task(function test_two_saves_delay() { let timerPromise = setPromiseMockTimer(); let tester = DeferredSaveTester(); let firstCallback_happened = false; @@ -219,7 +219,7 @@ add_task(function* test_two_saves_delay() { // Test case where OS.File immediately reports an error when the write begins // Also check that the "error" getter correctly returns the error // Then do a write that succeeds, and make sure the error is cleared -add_task(function* test_error_immediate() { +add_task(function test_error_immediate() { let tester = DeferredSaveTester(); let testError = new Error("Forced failure"); function writeFail(aTester) { @@ -243,7 +243,7 @@ add_task(function* test_error_immediate() { // Save one set of changes, then while the write is in progress, modify the // data two more times. Test that we re-write the dirty data exactly once // after the first write succeeds -add_task(function* dirty_while_writing() { +add_task(function dirty_while_writing() { let tester = DeferredSaveTester(); let firstData = "First data"; let secondData = "Second data"; @@ -303,6 +303,7 @@ add_task(function* dirty_while_writing() { // A write callback for the OS.File.writeAtomic mock that rejects write attempts function disabled_write_callback(aTester) { do_throw("Should not have written during clean flush"); + deferred.reject(new Error("Write during supposedly clean flush")); } // special write callback that disables itself to make sure @@ -316,7 +317,7 @@ function write_then_disable(aTester) { // Flush tests. First, do an ordinary clean save and then call flush; // there should not be another save -add_task(function* flush_after_save() { +add_task(function flush_after_save() { setQuickMockTimer(); let tester = DeferredSaveTester(); let dataToSave = "Flush after save"; @@ -327,7 +328,7 @@ add_task(function* flush_after_save() { }); // Flush while a write is in progress, but the in-memory data is clean -add_task(function* flush_during_write() { +add_task(function flush_during_write() { let tester = DeferredSaveTester(); let dataToSave = "Flush during write"; let firstCallback_happened = false; @@ -360,7 +361,7 @@ add_task(function* flush_during_write() { // Flush while dirty but write not in progress // The data written should be the value at the time // flush() is called, even if it is changed later -add_task(function* flush_while_dirty() { +add_task(function flush_while_dirty() { let timerPromise = setPromiseMockTimer(); let tester = DeferredSaveTester(); let firstData = "Flush while dirty, valid data"; @@ -396,7 +397,7 @@ add_task(function* flush_while_dirty() { // then flush, then modify the data again // Data for the second write should be taken at the time // flush() is called, even if it is modified later -add_task(function* flush_writing_dirty() { +add_task(function flush_writing_dirty() { let timerPromise = setPromiseMockTimer(); let tester = DeferredSaveTester(); let firstData = "Flush first pass data"; @@ -453,7 +454,7 @@ add_task(function* flush_writing_dirty() { // with the error and (b) make sure the provider is only // called once in case of error const expectedDataError = "Failed to serialize data"; -var badDataError = null; +let badDataError = null; function badDataProvider() { let err = new Error(badDataError); badDataError = "badDataProvider called twice"; @@ -462,7 +463,7 @@ function badDataProvider() { // Handle cases where data provider throws // First, throws during a normal save -add_task(function* data_throw() { +add_task(function data_throw() { setQuickMockTimer(); badDataError = expectedDataError; let tester = DeferredSaveTester(badDataProvider); @@ -472,7 +473,7 @@ add_task(function* data_throw() { }); // Now, throws during flush -add_task(function* data_throw_during_flush() { +add_task(function data_throw_during_flush() { badDataError = expectedDataError; let tester = DeferredSaveTester(badDataProvider); let firstCallback_happened = false; @@ -507,7 +508,7 @@ add_task(function* data_throw_during_flush() { // actually restart timer for delayed write // write completes // delayed timer goes off, throws error because DeferredSave has been torn down -add_task(function* delay_flush_race() { +add_task(function delay_flush_race() { let timerPromise = setPromiseMockTimer(); let tester = DeferredSaveTester(); let firstData = "First save"; |