summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js')
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js33
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";