import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo

This commit is contained in:
Roy Tam 2018-01-19 03:59:58 +08:00
commit dcd9973243
150858 changed files with 23884658 additions and 0 deletions

View file

@ -0,0 +1,7 @@
"use strict";
module.exports = {
"extends": [
"../../../../../testing/xpcshell/xpcshell.eslintrc.js"
]
};

View file

@ -0,0 +1,22 @@
/* -*- 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/. */
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "OS",
"resource://gre/modules/osfile.jsm");
var sessionCheckpointsPath;
/**
* Start the tasks of the different tests
*/
function run_test()
{
do_get_profile();
sessionCheckpointsPath = OS.Path.join(OS.Constants.Path.profileDir,
"sessionCheckpoints.json");
Components.utils.import("resource://gre/modules/CrashMonitor.jsm");
run_next_test();
}

View file

@ -0,0 +1,17 @@
/* -*- 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 that calling |init| twice throws an error
*/
add_task(function test_init() {
CrashMonitor.init();
try {
CrashMonitor.init();
do_check_true(false);
} catch (ex) {
do_check_true(true);
}
});

View file

@ -0,0 +1,22 @@
/* -*- 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(function* test_invalid_file() {
// Write bogus data to checkpoint file
let data = "1234";
yield OS.File.writeAtomic(sessionCheckpointsPath, data,
{tmpPath: sessionCheckpointsPath + ".tmp"});
// An invalid file will cause |init| to return null
let status = yield CrashMonitor.init();
do_check_true(status === null ? true : false);
// and |previousCheckpoints| will be null
let checkpoints = yield CrashMonitor.previousCheckpoints;
do_check_true(checkpoints === null ? true : false);
});

View file

@ -0,0 +1,18 @@
/* -*- 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 JSON data
*/
add_task(function* test_invalid_file() {
// Write bogus data to checkpoint file
let data = "[}";
yield OS.File.writeAtomic(sessionCheckpointsPath, data,
{tmpPath: sessionCheckpointsPath + ".tmp"});
CrashMonitor.init();
let checkpoints = yield CrashMonitor.previousCheckpoints;
do_check_eq(checkpoints, null);
});

View file

@ -0,0 +1,13 @@
/* -*- 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 non-existing sessionCheckpoints.json
*/
add_task(function* test_missing_file() {
CrashMonitor.init();
let checkpoints = yield CrashMonitor.previousCheckpoints;
do_check_eq(checkpoints, null);
});

View file

@ -0,0 +1,24 @@
/* -*- 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 that CrashMonitor.jsm is correctly loaded from XPCOM component
*/
add_task(function test_register() {
let cm = Components.classes["@mozilla.org/toolkit/crashmonitor;1"]
.createInstance(Components.interfaces.nsIObserver);
// Send "profile-after-change" to trigger the initialization
cm.observe(null, "profile-after-change", null);
// If CrashMonitor was initialized properly a new call to |init|
// should fail
try {
CrashMonitor.init();
do_check_true(false);
} catch (ex) {
do_check_true(true);
}
});

View file

@ -0,0 +1,20 @@
/* -*- 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 valid data
*/
add_task(function* test_valid_file() {
// Write valid data to checkpoint file
let data = JSON.stringify({"final-ui-startup": true});
yield OS.File.writeAtomic(sessionCheckpointsPath, data,
{tmpPath: sessionCheckpointsPath + ".tmp"});
CrashMonitor.init();
let checkpoints = yield CrashMonitor.previousCheckpoints;
do_check_true(checkpoints["final-ui-startup"]);
do_check_eq(Object.keys(checkpoints).length, 1);
});

View file

@ -0,0 +1,11 @@
[DEFAULT]
head = head.js
tail =
skip-if = toolkit == 'android'
[test_init.js]
[test_valid_file.js]
[test_invalid_file.js]
[test_invalid_json.js]
[test_missing_file.js]
[test_register.js]