mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-15 19:57:29 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
114
toolkit/identity/tests/unit/test_identity.js
Normal file
114
toolkit/identity/tests/unit/test_identity.js
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
/* 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_overall() {
|
||||
do_check_neq(IDService, null);
|
||||
run_next_test();
|
||||
}
|
||||
|
||||
function test_mock_doc() {
|
||||
do_test_pending();
|
||||
let mockedDoc = mock_doc(null, TEST_URL, function(action, params) {
|
||||
do_check_eq(action, 'coffee');
|
||||
do_test_finished();
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
mockedDoc.doCoffee();
|
||||
}
|
||||
|
||||
function test_add_identity() {
|
||||
IDService.reset();
|
||||
|
||||
IDService.addIdentity(TEST_USER);
|
||||
|
||||
let identities = IDService.RP.getIdentitiesForSite(TEST_URL);
|
||||
do_check_eq(identities.result.length, 1);
|
||||
do_check_eq(identities.result[0], TEST_USER);
|
||||
|
||||
run_next_test();
|
||||
}
|
||||
|
||||
function test_select_identity() {
|
||||
do_test_pending();
|
||||
|
||||
IDService.reset();
|
||||
|
||||
let id = "ishtar@mockmyid.com";
|
||||
setup_test_identity(id, TEST_CERT, function() {
|
||||
let gotAssertion = false;
|
||||
let mockedDoc = mock_doc(null, TEST_URL, call_sequentially(
|
||||
function(action, params) {
|
||||
// ready emitted from first watch() call
|
||||
do_check_eq(action, 'ready');
|
||||
do_check_null(params);
|
||||
},
|
||||
// first the login call
|
||||
function(action, params) {
|
||||
do_check_eq(action, 'login');
|
||||
do_check_neq(params, null);
|
||||
|
||||
// XXX - check that the assertion is for the right email
|
||||
|
||||
gotAssertion = true;
|
||||
},
|
||||
// then the ready call
|
||||
function(action, params) {
|
||||
do_check_eq(action, 'ready');
|
||||
do_check_null(params);
|
||||
|
||||
// we should have gotten the assertion already
|
||||
do_check_true(gotAssertion);
|
||||
|
||||
do_test_finished();
|
||||
run_next_test();
|
||||
}));
|
||||
|
||||
// register the callbacks
|
||||
IDService.RP.watch(mockedDoc);
|
||||
|
||||
// register the request UX observer
|
||||
makeObserver("identity-request", function (aSubject, aTopic, aData) {
|
||||
// do the select identity
|
||||
// we expect this to succeed right away because of test_identity
|
||||
// so we don't mock network requests or otherwise
|
||||
IDService.selectIdentity(aSubject.wrappedJSObject.rpId, id);
|
||||
});
|
||||
|
||||
// do the request
|
||||
IDService.RP.request(mockedDoc.id, {});
|
||||
});
|
||||
}
|
||||
|
||||
function test_parse_good_email() {
|
||||
var parsed = IDService.parseEmail('prime-minister@jed.gov');
|
||||
do_check_eq(parsed.username, 'prime-minister');
|
||||
do_check_eq(parsed.domain, 'jed.gov');
|
||||
run_next_test();
|
||||
}
|
||||
|
||||
function test_parse_bogus_emails() {
|
||||
do_check_eq(null, IDService.parseEmail('@evil.org'));
|
||||
do_check_eq(null, IDService.parseEmail('foo@bar@baz.com'));
|
||||
do_check_eq(null, IDService.parseEmail('you@wellsfargo.com/accounts/transfer?to=dolske&amt=all'));
|
||||
run_next_test();
|
||||
}
|
||||
|
||||
var TESTS = [test_overall, test_mock_doc];
|
||||
|
||||
TESTS.push(test_add_identity);
|
||||
TESTS.push(test_select_identity);
|
||||
TESTS.push(test_parse_good_email);
|
||||
TESTS.push(test_parse_bogus_emails);
|
||||
|
||||
TESTS.forEach(add_test);
|
||||
|
||||
function run_test() {
|
||||
run_next_test();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue