summaryrefslogtreecommitdiffstats
path: root/toolkit/components/crashmonitor/test/unit/test_invalid_file.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/crashmonitor/test/unit/test_invalid_file.js')
-rw-r--r--toolkit/components/crashmonitor/test/unit/test_invalid_file.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/toolkit/components/crashmonitor/test/unit/test_invalid_file.js b/toolkit/components/crashmonitor/test/unit/test_invalid_file.js
new file mode 100644
index 0000000000..f64fc9183c
--- /dev/null
+++ b/toolkit/components/crashmonitor/test/unit/test_invalid_file.js
@@ -0,0 +1,23 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/**
+ * Test with sessionCheckpoints.json containing invalid data
+ */
+add_task(async function test_invalid_file() {
+ // Write bogus data to checkpoint file
+ let data = "1234";
+ await IOUtils.writeUTF8(sessionCheckpointsPath, data, {
+ tmpPath: sessionCheckpointsPath + ".tmp",
+ });
+
+ // An invalid file will cause |init| to return null
+ let status = await CrashMonitor.init();
+ Assert.ok(!!(status === null));
+
+ // and |previousCheckpoints| will be null
+ let checkpoints = await CrashMonitor.previousCheckpoints;
+ Assert.ok(!!(checkpoints === null));
+});