mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a03e4f3ac2
Also use the right preprocessor variable to identify debug builds. --HG-- extra : rebase_source : 3c7370383770a30c5399002ebce8589d5258b848
160 lines
4.7 KiB
JavaScript
160 lines
4.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
Cu.import("resource://services-sync/service.js");
|
|
Cu.import("resource://services-sync/util.js");
|
|
Cu.import("resource://services-sync/log4moz.js");
|
|
|
|
const logsdir = FileUtils.getDir("ProfD", ["weave", "logs"], true);
|
|
|
|
function run_test() {
|
|
if (DISABLE_TESTS_BUG_664090) {
|
|
return;
|
|
}
|
|
|
|
run_next_test();
|
|
}
|
|
|
|
add_test(function test_noOutput() {
|
|
// Clear log output from startup.
|
|
Svc.Prefs.set("log.appender.file.logOnSuccess", false);
|
|
Svc.Obs.notify("weave:service:sync:finish");
|
|
|
|
// Clear again without having issued any output.
|
|
Svc.Prefs.set("log.appender.file.logOnSuccess", true);
|
|
|
|
Svc.Obs.add("weave:service:reset-file-log", function onResetFileLog() {
|
|
Svc.Obs.remove("weave:service:reset-file-log", onResetFileLog);
|
|
|
|
Svc.Prefs.resetBranch("");
|
|
run_next_test();
|
|
});
|
|
|
|
// Fake a successful sync.
|
|
Svc.Obs.notify("weave:service:sync:finish");
|
|
});
|
|
|
|
add_test(function test_logOnSuccess_false() {
|
|
Svc.Prefs.set("log.appender.file.logOnSuccess", false);
|
|
|
|
let log = Log4Moz.repository.getLogger("Sync.Test.FileLog");
|
|
log.info("this won't show up");
|
|
|
|
Svc.Obs.add("weave:service:reset-file-log", function onResetFileLog() {
|
|
Svc.Obs.remove("weave:service:reset-file-log", onResetFileLog);
|
|
// No log file was written.
|
|
do_check_false(logsdir.directoryEntries.hasMoreElements());
|
|
|
|
Svc.Prefs.resetBranch("");
|
|
run_next_test();
|
|
});
|
|
|
|
// Fake a successful sync.
|
|
Svc.Obs.notify("weave:service:sync:finish");
|
|
});
|
|
|
|
function readFile(file, callback) {
|
|
NetUtil.asyncFetch(file, function (inputStream, statusCode, request) {
|
|
let data = NetUtil.readInputStreamToString(inputStream,
|
|
inputStream.available());
|
|
callback(statusCode, data);
|
|
});
|
|
}
|
|
|
|
add_test(function test_logOnSuccess_true() {
|
|
Svc.Prefs.set("log.appender.file.logOnSuccess", true);
|
|
|
|
let log = Log4Moz.repository.getLogger("Sync.Test.FileLog");
|
|
const MESSAGE = "this WILL show up";
|
|
log.info(MESSAGE);
|
|
|
|
Svc.Obs.add("weave:service:reset-file-log", function onResetFileLog() {
|
|
Svc.Obs.remove("weave:service:reset-file-log", onResetFileLog);
|
|
|
|
// Exactly one log file was written.
|
|
let entries = logsdir.directoryEntries;
|
|
do_check_true(entries.hasMoreElements());
|
|
let logfile = entries.getNext().QueryInterface(Ci.nsILocalFile);
|
|
do_check_eq(logfile.leafName.slice(-4), ".log");
|
|
do_check_false(entries.hasMoreElements());
|
|
|
|
// Ensure the log message was actually written to file.
|
|
readFile(logfile, function (error, data) {
|
|
do_check_true(Components.isSuccessCode(error));
|
|
do_check_neq(data.indexOf(MESSAGE), -1);
|
|
|
|
// Clean up.
|
|
try {
|
|
logfile.remove(false);
|
|
} catch(ex) {
|
|
dump("Couldn't delete file: " + ex + "\n");
|
|
// Stupid Windows box.
|
|
}
|
|
|
|
Svc.Prefs.resetBranch("");
|
|
run_next_test();
|
|
});
|
|
});
|
|
|
|
// Fake a successful sync.
|
|
Svc.Obs.notify("weave:service:sync:finish");
|
|
});
|
|
|
|
add_test(function test_logOnError_false() {
|
|
Svc.Prefs.set("log.appender.file.logOnError", false);
|
|
|
|
let log = Log4Moz.repository.getLogger("Sync.Test.FileLog");
|
|
log.info("this won't show up");
|
|
|
|
Svc.Obs.add("weave:service:reset-file-log", function onResetFileLog() {
|
|
Svc.Obs.remove("weave:service:reset-file-log", onResetFileLog);
|
|
// No log file was written.
|
|
do_check_false(logsdir.directoryEntries.hasMoreElements());
|
|
|
|
Svc.Prefs.resetBranch("");
|
|
run_next_test();
|
|
});
|
|
|
|
// Fake an unsuccessful sync.
|
|
Svc.Obs.notify("weave:service:sync:error");
|
|
});
|
|
|
|
add_test(function test_logOnError_true() {
|
|
Svc.Prefs.set("log.appender.file.logOnError", true);
|
|
|
|
let log = Log4Moz.repository.getLogger("Sync.Test.FileLog");
|
|
const MESSAGE = "this WILL show up";
|
|
log.info(MESSAGE);
|
|
|
|
Svc.Obs.add("weave:service:reset-file-log", function onResetFileLog() {
|
|
Svc.Obs.remove("weave:service:reset-file-log", onResetFileLog);
|
|
|
|
// Exactly one log file was written.
|
|
let entries = logsdir.directoryEntries;
|
|
do_check_true(entries.hasMoreElements());
|
|
let logfile = entries.getNext().QueryInterface(Ci.nsILocalFile);
|
|
do_check_eq(logfile.leafName.slice(-4), ".log");
|
|
do_check_false(entries.hasMoreElements());
|
|
|
|
// Ensure the log message was actually written to file.
|
|
readFile(logfile, function (error, data) {
|
|
do_check_true(Components.isSuccessCode(error));
|
|
do_check_neq(data.indexOf(MESSAGE), -1);
|
|
|
|
// Clean up.
|
|
try {
|
|
logfile.remove(false);
|
|
} catch(ex) {
|
|
dump("Couldn't delete file: " + ex + "\n");
|
|
// Stupid Windows box.
|
|
}
|
|
|
|
Svc.Prefs.resetBranch("");
|
|
run_next_test();
|
|
});
|
|
});
|
|
|
|
// Fake an unsuccessful sync.
|
|
Svc.Obs.notify("weave:service:sync:error");
|
|
});
|