mirror of
https://github.com/ManchildProductions/UXP-Fixed.git
synced 2026-06-12 08:18:59 +00:00
159 lines
4.0 KiB
JavaScript
159 lines
4.0 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
Components.utils.import("resource://services-sync/engines/passwords.js");
|
|
|
|
function getDummyServerAndClient() {
|
|
return {
|
|
server: [
|
|
{
|
|
id: "11111",
|
|
guid: "11111",
|
|
hostname: "https://www.11111.com",
|
|
formSubmitURL: "https://www.11111.com/login",
|
|
password: "qwerty123",
|
|
passwordField: "pass",
|
|
username: "foobar",
|
|
usernameField: "user",
|
|
httpRealm: null,
|
|
},
|
|
{
|
|
id: "22222",
|
|
guid: "22222",
|
|
hostname: "https://www.22222.org",
|
|
formSubmitURL: "https://www.22222.org/login",
|
|
password: "hunter2",
|
|
passwordField: "passwd",
|
|
username: "baz12345",
|
|
usernameField: "user",
|
|
httpRealm: null,
|
|
},
|
|
{
|
|
id: "33333",
|
|
guid: "33333",
|
|
hostname: "https://www.33333.com",
|
|
formSubmitURL: "https://www.33333.com/login",
|
|
password: "p4ssw0rd",
|
|
passwordField: "passwad",
|
|
username: "quux",
|
|
usernameField: "user",
|
|
httpRealm: null,
|
|
},
|
|
],
|
|
client: [
|
|
{
|
|
id: "11111",
|
|
guid: "11111",
|
|
hostname: "https://www.11111.com",
|
|
formSubmitURL: "https://www.11111.com/login",
|
|
password: "qwerty123",
|
|
passwordField: "pass",
|
|
username: "foobar",
|
|
usernameField: "user",
|
|
httpRealm: null,
|
|
},
|
|
{
|
|
id: "22222",
|
|
guid: "22222",
|
|
hostname: "https://www.22222.org",
|
|
formSubmitURL: "https://www.22222.org/login",
|
|
password: "hunter2",
|
|
passwordField: "passwd",
|
|
username: "baz12345",
|
|
usernameField: "user",
|
|
httpRealm: null,
|
|
|
|
},
|
|
{
|
|
id: "33333",
|
|
guid: "33333",
|
|
hostname: "https://www.33333.com",
|
|
formSubmitURL: "https://www.33333.com/login",
|
|
password: "p4ssw0rd",
|
|
passwordField: "passwad",
|
|
username: "quux",
|
|
usernameField: "user",
|
|
httpRealm: null,
|
|
}
|
|
]
|
|
};
|
|
}
|
|
|
|
|
|
add_test(function test_valid() {
|
|
let { server, client } = getDummyServerAndClient();
|
|
let validator = new PasswordValidator();
|
|
let { problemData, clientRecords, records, deletedRecords } =
|
|
validator.compareClientWithServer(client, server);
|
|
equal(clientRecords.length, 3);
|
|
equal(records.length, 3)
|
|
equal(deletedRecords.length, 0);
|
|
deepEqual(problemData, validator.emptyProblemData());
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_missing() {
|
|
let validator = new PasswordValidator();
|
|
{
|
|
let { server, client } = getDummyServerAndClient();
|
|
|
|
client.pop();
|
|
|
|
let { problemData, clientRecords, records, deletedRecords } =
|
|
validator.compareClientWithServer(client, server);
|
|
|
|
equal(clientRecords.length, 2);
|
|
equal(records.length, 3)
|
|
equal(deletedRecords.length, 0);
|
|
|
|
let expected = validator.emptyProblemData();
|
|
expected.clientMissing.push("33333");
|
|
deepEqual(problemData, expected);
|
|
}
|
|
{
|
|
let { server, client } = getDummyServerAndClient();
|
|
|
|
server.pop();
|
|
|
|
let { problemData, clientRecords, records, deletedRecords } =
|
|
validator.compareClientWithServer(client, server);
|
|
|
|
equal(clientRecords.length, 3);
|
|
equal(records.length, 2)
|
|
equal(deletedRecords.length, 0);
|
|
|
|
let expected = validator.emptyProblemData();
|
|
expected.serverMissing.push("33333");
|
|
deepEqual(problemData, expected);
|
|
}
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
|
|
add_test(function test_deleted() {
|
|
let { server, client } = getDummyServerAndClient();
|
|
let deletionRecord = { id: "444444", guid: "444444", deleted: true };
|
|
|
|
server.push(deletionRecord);
|
|
let validator = new PasswordValidator();
|
|
|
|
let { problemData, clientRecords, records, deletedRecords } =
|
|
validator.compareClientWithServer(client, server);
|
|
|
|
equal(clientRecords.length, 3);
|
|
equal(records.length, 4);
|
|
deepEqual(deletedRecords, [deletionRecord]);
|
|
|
|
let expected = validator.emptyProblemData();
|
|
deepEqual(problemData, expected);
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
|
|
function run_test() {
|
|
run_next_test();
|
|
}
|