|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 Cu.import("resource://services-sync/service.js"); |
|
5 Cu.import("resource://services-sync/util.js"); |
|
6 |
|
7 function run_test() { |
|
8 let debug = []; |
|
9 let info = []; |
|
10 |
|
11 function augmentLogger(old) { |
|
12 let d = old.debug; |
|
13 let i = old.info; |
|
14 old.debug = function(m) { debug.push(m); d.call(old, m); } |
|
15 old.info = function(m) { info.push(m); i.call(old, m); } |
|
16 return old; |
|
17 } |
|
18 |
|
19 Log.repository.rootLogger.addAppender(new Log.DumpAppender()); |
|
20 |
|
21 augmentLogger(Service._log); |
|
22 |
|
23 // Avoid daily ping |
|
24 Svc.Prefs.set("lastPing", Math.floor(Date.now() / 1000)); |
|
25 |
|
26 _("Check that sync will log appropriately if already in 'progress'."); |
|
27 Service._locked = true; |
|
28 Service.sync(); |
|
29 Service._locked = false; |
|
30 |
|
31 do_check_eq(debug[debug.length - 2], |
|
32 "Exception: Could not acquire lock. Label: \"service.js: login\". No traceback available"); |
|
33 do_check_eq(info[info.length - 1], |
|
34 "Cannot start sync: already syncing?"); |
|
35 } |
|
36 |