mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
8bdbd55546
--HG-- extra : rebase_source : 9ee371fd16d903ed55a98a62c765fe67665b5229
65 lines
2.0 KiB
JavaScript
65 lines
2.0 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
XPCOMUtils.defineLazyModuleGetter(this, "IDService",
|
|
"resource://gre/modules/identity/Identity.jsm",
|
|
"IdentityService");
|
|
|
|
function test_id_store() {
|
|
// XXX - this is ugly, peaking in like this into IDService
|
|
// probably should instantiate our own.
|
|
var store = get_idstore();
|
|
|
|
// try adding an identity
|
|
store.addIdentity(TEST_USER, TEST_PRIVKEY, TEST_CERT);
|
|
do_check_neq(store.getIdentities()[TEST_USER], null);
|
|
do_check_eq(store.getIdentities()[TEST_USER].cert, TEST_CERT);
|
|
|
|
// does fetch identity work?
|
|
do_check_neq(store.fetchIdentity(TEST_USER), null);
|
|
do_check_eq(store.fetchIdentity(TEST_USER).cert, TEST_CERT);
|
|
|
|
// clear the cert should keep the identity but not the cert
|
|
store.clearCert(TEST_USER);
|
|
do_check_neq(store.getIdentities()[TEST_USER], null);
|
|
do_check_null(store.getIdentities()[TEST_USER].cert);
|
|
|
|
// remove it should remove everything
|
|
store.removeIdentity(TEST_USER);
|
|
do_check_eq(store.getIdentities()[TEST_USER], undefined);
|
|
|
|
// act like we're logged in to TEST_URL
|
|
store.setLoginState(TEST_URL, true, TEST_USER);
|
|
do_check_neq(store.getLoginState(TEST_URL), null);
|
|
do_check_true(store.getLoginState(TEST_URL).isLoggedIn);
|
|
do_check_eq(store.getLoginState(TEST_URL).email, TEST_USER);
|
|
|
|
// log out
|
|
store.setLoginState(TEST_URL, false, TEST_USER);
|
|
do_check_neq(store.getLoginState(TEST_URL), null);
|
|
do_check_false(store.getLoginState(TEST_URL).isLoggedIn);
|
|
|
|
// email is still set
|
|
do_check_eq(store.getLoginState(TEST_URL).email, TEST_USER);
|
|
|
|
// not logged into other site
|
|
do_check_null(store.getLoginState(TEST_URL2));
|
|
|
|
// clear login state
|
|
store.clearLoginState(TEST_URL);
|
|
do_check_null(store.getLoginState(TEST_URL));
|
|
do_check_null(store.getLoginState(TEST_URL2));
|
|
|
|
run_next_test();
|
|
}
|
|
|
|
let TESTS = [test_id_store,];
|
|
|
|
TESTS.forEach(add_test);
|
|
|
|
function run_test() {
|
|
run_next_test();
|
|
}
|