2010-06-16 14:30:08 -07:00
|
|
|
Cu.import("resource://services-sync/ext/Observers.js");
|
2011-02-17 13:41:13 -08:00
|
|
|
Cu.import("resource://services-sync/status.js");
|
2010-06-16 14:30:08 -07:00
|
|
|
Cu.import("resource://services-sync/identity.js");
|
|
|
|
Cu.import("resource://services-sync/util.js");
|
2010-08-25 15:49:45 -07:00
|
|
|
Cu.import("resource://services-sync/engines.js");
|
2010-06-04 09:05:55 -07:00
|
|
|
|
|
|
|
function run_test() {
|
2010-08-25 15:49:45 -07:00
|
|
|
_("When imported, Service.onStartup is called");
|
2010-06-04 09:05:55 -07:00
|
|
|
|
|
|
|
// Test fixtures
|
2010-06-09 17:22:03 -07:00
|
|
|
Svc.Prefs.set("registerEngines", "Tab,Bookmarks,Form,History");
|
2010-06-04 09:05:55 -07:00
|
|
|
Svc.Prefs.set("username", "johndoe");
|
|
|
|
|
2011-02-17 13:41:13 -08:00
|
|
|
Cu.import("resource://services-sync/service.js");
|
2010-06-04 09:05:55 -07:00
|
|
|
|
2011-02-17 13:41:13 -08:00
|
|
|
_("Service is enabled.");
|
|
|
|
do_check_eq(Service.enabled, true);
|
2010-06-04 09:05:55 -07:00
|
|
|
|
2011-02-17 13:41:13 -08:00
|
|
|
_("Engines are registered.");
|
|
|
|
let engines = Engines.getAll();
|
|
|
|
do_check_true(Utils.deepEquals([engine.name for each (engine in engines)],
|
|
|
|
['tabs', 'bookmarks', 'forms', 'history']));
|
2010-06-04 09:05:55 -07:00
|
|
|
|
2011-02-17 13:41:13 -08:00
|
|
|
_("Identities are registered.");
|
|
|
|
do_check_eq(ID.get('WeaveID').username, "johndoe");
|
|
|
|
do_check_eq(ID.get('WeaveCryptoID').username, "johndoe");
|
2010-06-04 09:05:55 -07:00
|
|
|
|
2011-02-17 13:41:13 -08:00
|
|
|
_("Observers are notified of startup");
|
|
|
|
do_test_pending();
|
|
|
|
do_check_false(Status.ready);
|
|
|
|
Observers.add("weave:service:ready", function (subject, data) {
|
|
|
|
do_check_true(Status.ready);
|
2010-06-04 09:05:55 -07:00
|
|
|
|
2011-02-17 13:41:13 -08:00
|
|
|
// Clean up.
|
2010-06-04 09:05:55 -07:00
|
|
|
Svc.Prefs.resetBranch("");
|
2011-02-17 13:41:13 -08:00
|
|
|
do_test_finished();
|
|
|
|
});
|
2010-06-04 09:05:55 -07:00
|
|
|
}
|