diff options
Diffstat (limited to 'dom/notification/test/unit/test_notificationdb_bug1024090.js')
-rw-r--r-- | dom/notification/test/unit/test_notificationdb_bug1024090.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/dom/notification/test/unit/test_notificationdb_bug1024090.js b/dom/notification/test/unit/test_notificationdb_bug1024090.js new file mode 100644 index 000000000..68dfb164c --- /dev/null +++ b/dom/notification/test/unit/test_notificationdb_bug1024090.js @@ -0,0 +1,56 @@ +"use strict"; + +function run_test() { + do_get_profile(); + run_next_test(); +} + +/// For bug 1024090: test edge case of notificationstore.json +add_test(function test_bug1024090_purge() { + Cu.import("resource://gre/modules/osfile.jsm"); + const NOTIFICATION_STORE_PATH = + OS.Path.join(OS.Constants.Path.profileDir, "notificationstore.json"); + let cleanup = OS.File.writeAtomic(NOTIFICATION_STORE_PATH, ""); + cleanup.then( + function onSuccess() { + ok(true, "Notification database cleaned."); + }, + function onError(reason) { + ok(false, "Notification database error when cleaning: " + reason); + } + ).then(function next() { + do_print("Cleanup steps completed: " + NOTIFICATION_STORE_PATH); + startNotificationDB(); + run_next_test(); + }); +}); + +// Store one notification +add_test(function test_bug1024090_send_one() { + let requestID = 1; + let msgReply = "Notification:Save:Return:OK"; + let msgHandler = function(message) { + equal(requestID, message.data.requestID, "Checking requestID"); + }; + + addAndSend("Notification:Save", msgReply, msgHandler, { + origin: systemNotification.origin, + notification: systemNotification, + requestID: requestID + }); +}); + +// Get one notification, one exists +add_test(function test_bug1024090_get_one() { + let requestID = 2; + let msgReply = "Notification:GetAll:Return:OK"; + let msgHandler = function(message) { + equal(requestID, message.data.requestID, "Checking requestID"); + equal(1, message.data.notifications.length, "One notification stored"); + }; + + addAndSend("Notification:GetAll", msgReply, msgHandler, { + origin: systemNotification.origin, + requestID: requestID + }); +}); |