зеркало из https://github.com/mozilla/pjs.git
Bug 380931. Bustage fix. Post-landing cleanup from Bug 374723 (rewrite password manager in JS). Patch by Justin Dolse <dolske@mozilla.com>. r=mconnor/sayrer.
This commit is contained in:
Родитель
bfe3fd218b
Коммит
a608412763
|
@ -10,17 +10,18 @@ var storage;
|
|||
|
||||
var DIR_SERVICE = new Components.Constructor(
|
||||
"@mozilla.org/file/directory_service;1", "nsIProperties");
|
||||
var OUTDIR = (new DIR_SERVICE()).get("ProfD", Ci.nsIFile).path + "/";
|
||||
var OUTDIR = (new DIR_SERVICE()).get("ProfD", Ci.nsIFile).path;
|
||||
var INDIR = do_get_file("toolkit/components/passwordmgr/test/unit/data/" +
|
||||
"signons-00.txt").parent.path + "/";
|
||||
"signons-00.txt").parent.path;
|
||||
|
||||
|
||||
function initStorage(aInputFileName, aExpectedError) {
|
||||
function initStorage(aInputPathName, aInputFileName, aExpectedError) {
|
||||
var e, caughtError = false;
|
||||
|
||||
var inputFile = Cc["@mozilla.org/file/local;1"]
|
||||
.createInstance(Ci.nsILocalFile);
|
||||
inputFile.initWithPath(aInputFileName);
|
||||
inputFile.initWithPath(aInputPathName);
|
||||
inputFile.append(aInputFileName);
|
||||
|
||||
try {
|
||||
storage.initWithFile(inputFile, null);
|
||||
|
@ -99,7 +100,7 @@ var nsLoginInfo = new Components.Constructor(
|
|||
Components.interfaces.nsILoginInfo);
|
||||
do_check_true(nsLoginInfo != null);
|
||||
|
||||
testuser1 = new nsLoginInfo;
|
||||
var testuser1 = new nsLoginInfo;
|
||||
testuser1.hostname = "http://dummyhost.mozilla.org";
|
||||
testuser1.formSubmitURL = "";
|
||||
testuser1.username = "dummydude";
|
||||
|
@ -108,7 +109,7 @@ testuser1.usernameField = "put_user_here";
|
|||
testuser1.passwordField = "put_pw_here";
|
||||
testuser1.httpRealm = null;
|
||||
|
||||
testuser2 = new nsLoginInfo;
|
||||
var testuser2 = new nsLoginInfo;
|
||||
testuser2.hostname = "http://dummyhost.mozilla.org";
|
||||
testuser2.formSubmitURL = "";
|
||||
testuser2.username = "dummydude2";
|
||||
|
@ -146,7 +147,7 @@ if (exists) {
|
|||
|
||||
testdesc = "Initialize with a non-existant data file";
|
||||
|
||||
initStorage(OUTDIR + filename, null);
|
||||
initStorage(OUTDIR, filename, null);
|
||||
|
||||
checkStorageData([], []);
|
||||
|
||||
|
@ -156,7 +157,7 @@ dump("/* ========== 3 ========== */\n");
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-00.txt (a zero-length file)";
|
||||
|
||||
initStorage(INDIR + "signons-00.txt", /invalid file header/);
|
||||
initStorage(INDIR, "signons-00.txt", /invalid file header/);
|
||||
checkStorageData([], []);
|
||||
|
||||
|
||||
|
@ -164,7 +165,7 @@ checkStorageData([], []);
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-01.txt (bad file header)";
|
||||
|
||||
initStorage(INDIR + "signons-01.txt", /invalid file header/);
|
||||
initStorage(INDIR, "signons-01.txt", /invalid file header/);
|
||||
checkStorageData([], []);
|
||||
|
||||
|
||||
|
@ -172,7 +173,7 @@ checkStorageData([], []);
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-02.txt (valid, but empty)";
|
||||
|
||||
initStorage(INDIR + "signons-02.txt", null);
|
||||
initStorage(INDIR, "signons-02.txt", null);
|
||||
checkStorageData([], []);
|
||||
|
||||
|
||||
|
@ -180,7 +181,7 @@ checkStorageData([], []);
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-03.txt (1 disabled, 0 logins)";
|
||||
|
||||
initStorage(INDIR + "signons-03.txt", null);
|
||||
initStorage(INDIR, "signons-03.txt", null);
|
||||
|
||||
disabledHosts = ["http://www.disabled.com"];
|
||||
checkStorageData(disabledHosts, []);
|
||||
|
@ -193,7 +194,7 @@ testdesc = "Initialize with signons-06.txt (1 disabled, 0 logins, extra '.')";
|
|||
// Mozilla code should never have generated the extra ".", but it's possible
|
||||
// someone writing an external utility might have generated it, since it
|
||||
// would seem consistant with the format.
|
||||
initStorage(INDIR + "signons-04.txt", null);
|
||||
initStorage(INDIR, "signons-04.txt", null);
|
||||
|
||||
disabledHosts = ["http://www.disabled.com"];
|
||||
checkStorageData(disabledHosts, []);
|
||||
|
@ -203,7 +204,7 @@ checkStorageData(disabledHosts, []);
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-05.txt (0 disabled, 1 login)";
|
||||
|
||||
initStorage(INDIR + "signons-05.txt", null);
|
||||
initStorage(INDIR, "signons-05.txt", null);
|
||||
|
||||
logins = [testuser1];
|
||||
checkStorageData([], logins);
|
||||
|
@ -213,7 +214,7 @@ checkStorageData([], logins);
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-06.txt (1 disabled, 1 login)";
|
||||
|
||||
initStorage(INDIR + "signons-06.txt", null);
|
||||
initStorage(INDIR, "signons-06.txt", null);
|
||||
|
||||
disabledHosts = ["https://www.site.net"];
|
||||
logins = [testuser1];
|
||||
|
@ -224,7 +225,7 @@ checkStorageData(disabledHosts, logins);
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-07.txt (0 disabled, 2 logins for same host)";
|
||||
|
||||
initStorage(INDIR + "signons-07.txt", null);
|
||||
initStorage(INDIR, "signons-07.txt", null);
|
||||
|
||||
logins = [testuser1, testuser2];
|
||||
checkStorageData([], logins);
|
||||
|
@ -234,7 +235,7 @@ checkStorageData([], logins);
|
|||
testnum++;
|
||||
testdesc = "Initialize with signons-08.txt (1000 disabled, 1000 logins)";
|
||||
|
||||
initStorage(INDIR + "signons-08.txt", null);
|
||||
initStorage(INDIR, "signons-08.txt", null);
|
||||
|
||||
disabledHosts = [];
|
||||
for (var i = 1; i <= 1000; i++) {
|
||||
|
|
|
@ -10,23 +10,26 @@ var storage;
|
|||
|
||||
var DIR_SERVICE = new Components.Constructor(
|
||||
"@mozilla.org/file/directory_service;1", "nsIProperties");
|
||||
var OUTDIR = (new DIR_SERVICE()).get("ProfD", Ci.nsIFile).path + "/";
|
||||
var OUTDIR = (new DIR_SERVICE()).get("ProfD", Ci.nsIFile).path;
|
||||
var INDIR = do_get_file("toolkit/components/passwordmgr/test/unit/data/" +
|
||||
"signons-00.txt").parent.path + "/";
|
||||
"signons-00.txt").parent.path;
|
||||
|
||||
|
||||
function initStorage(aInputFileName, aOutputFileName, aExpectedError) {
|
||||
function initStorage(aInputPathName, aInputFileName,
|
||||
aOutputPathName, aOutputFileName, aExpectedError) {
|
||||
var e, caughtError = false;
|
||||
|
||||
var inputFile = Cc["@mozilla.org/file/local;1"]
|
||||
.createInstance(Ci.nsILocalFile);
|
||||
inputFile.initWithPath(aInputFileName);
|
||||
inputFile.initWithPath(aInputPathName);
|
||||
inputFile.append(aInputFileName);
|
||||
|
||||
var outputFile = null;
|
||||
if (aOutputFileName) {
|
||||
var outputFile = Cc["@mozilla.org/file/local;1"]
|
||||
.createInstance(Ci.nsILocalFile);
|
||||
outputFile.initWithPath(aOutputFileName);
|
||||
outputFile.initWithPath(aOutputPathName);
|
||||
outputFile.append(aOutputFileName);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -164,7 +167,7 @@ if (exists) {
|
|||
}
|
||||
|
||||
testdesc = "Initialize with no existing file";
|
||||
initStorage(OUTDIR + filename, null);
|
||||
initStorage(OUTDIR, filename, null, null, null);
|
||||
|
||||
checkStorageData([], []);
|
||||
|
||||
|
@ -181,7 +184,7 @@ file.remove(false);
|
|||
testnum++;
|
||||
|
||||
testdesc = "Initialize with existing file (valid, but empty)";
|
||||
initStorage(INDIR + "signons-empty.txt", OUTDIR + "output-01.txt");
|
||||
initStorage(INDIR, "signons-empty.txt", OUTDIR, "output-01.txt");
|
||||
checkStorageData([], []);
|
||||
|
||||
testdesc = "Add 1 disabled host only";
|
||||
|
@ -200,7 +203,7 @@ checkStorageData([], []);
|
|||
testnum++;
|
||||
|
||||
testdesc = "[clear data and reinitialize with signons-empty.txt]";
|
||||
initStorage(INDIR + "signons-empty.txt", OUTDIR + "output-02.txt");
|
||||
initStorage(INDIR, "signons-empty.txt", OUTDIR, "output-02.txt");
|
||||
|
||||
// Previous tests made sure we can write to an existing file, so now just
|
||||
// tweak component to output elsewhere.
|
||||
|
@ -208,7 +211,7 @@ testdesc = "Add 1 login only";
|
|||
storage.addLogin(dummyuser1);
|
||||
|
||||
testdesc = "[flush and reload for verification]";
|
||||
initStorage(OUTDIR + "output-02.txt", null);
|
||||
initStorage(OUTDIR, "output-02.txt", null, null);
|
||||
|
||||
testdesc = "Verify output-02.txt";
|
||||
checkStorageData([], [dummyuser1]);
|
||||
|
@ -218,13 +221,13 @@ checkStorageData([], [dummyuser1]);
|
|||
testnum++;
|
||||
|
||||
testdesc = "[clear data and reinitialize with signons-empty.txt]";
|
||||
initStorage(INDIR + "signons-empty.txt", OUTDIR + "output-03.txt");
|
||||
initStorage(INDIR, "signons-empty.txt", OUTDIR, "output-03.txt");
|
||||
|
||||
testdesc = "Add 1 disabled host only";
|
||||
storage.setLoginSavingEnabled("http://www.nsa.gov", false);
|
||||
|
||||
testdesc = "[flush and reload for verification]";
|
||||
initStorage(OUTDIR + "output-03.txt", null);
|
||||
initStorage(OUTDIR, "output-03.txt", null, null);
|
||||
|
||||
testdesc = "Verify output-03.txt";
|
||||
checkStorageData(["http://www.nsa.gov"], []);
|
||||
|
@ -234,14 +237,14 @@ checkStorageData(["http://www.nsa.gov"], []);
|
|||
testnum++;
|
||||
|
||||
testdesc = "[clear data and reinitialize with signons-empty.txt]";
|
||||
initStorage(INDIR + "signons-empty.txt", OUTDIR + "output-04.txt");
|
||||
initStorage(INDIR, "signons-empty.txt", OUTDIR, "output-04.txt");
|
||||
|
||||
testdesc = "Add 1 disabled host and 1 login";
|
||||
storage.setLoginSavingEnabled("http://www.nsa.gov", false);
|
||||
storage.addLogin(dummyuser1);
|
||||
|
||||
testdesc = "[flush and reload for verification]";
|
||||
initStorage(OUTDIR + "output-04.txt", null);
|
||||
initStorage(OUTDIR, "output-04.txt", null, null);
|
||||
|
||||
testdesc = "Verify output-04.txt";
|
||||
checkStorageData(["http://www.nsa.gov"], [dummyuser1]);
|
||||
|
@ -251,14 +254,14 @@ checkStorageData(["http://www.nsa.gov"], [dummyuser1]);
|
|||
testnum++;
|
||||
|
||||
testdesc = "[clear data and reinitialize with signons-empty.txt]";
|
||||
initStorage(INDIR + "signons-empty.txt", OUTDIR + "output-03.txt");
|
||||
initStorage(INDIR, "signons-empty.txt", OUTDIR, "output-03.txt");
|
||||
|
||||
testdesc = "Add 2 logins (to different hosts)";
|
||||
storage.addLogin(dummyuser1);
|
||||
storage.addLogin(dummyuser2);
|
||||
|
||||
testdesc = "[flush and reload for verification]";
|
||||
initStorage(OUTDIR + "output-03.txt", null);
|
||||
initStorage(OUTDIR, "output-03.txt", null, null);
|
||||
|
||||
testdesc = "Verify output-03.txt";
|
||||
checkStorageData([], [dummyuser2, dummyuser1]);
|
||||
|
@ -268,14 +271,14 @@ checkStorageData([], [dummyuser2, dummyuser1]);
|
|||
testnum++;
|
||||
|
||||
testdesc = "[clear data and reinitialize with signons-empty.txt]";
|
||||
initStorage(INDIR + "signons-empty.txt", OUTDIR + "output-04.txt");
|
||||
initStorage(INDIR, "signons-empty.txt", OUTDIR, "output-04.txt");
|
||||
|
||||
testdesc = "Add 2 logins (to same host)";
|
||||
storage.addLogin(dummyuser2);
|
||||
storage.addLogin(dummyuser3);
|
||||
|
||||
testdesc = "[flush and reload for verification]";
|
||||
initStorage(OUTDIR + "output-04.txt", null);
|
||||
initStorage(OUTDIR, "output-04.txt", null, null);
|
||||
|
||||
testdesc = "Verify output-04.txt";
|
||||
logins = [dummyuser3, dummyuser2];
|
||||
|
@ -286,7 +289,7 @@ checkStorageData([], logins);
|
|||
testnum++;
|
||||
|
||||
testdesc = "[clear data and reinitialize with signons-empty.txt]";
|
||||
initStorage(INDIR + "signons-empty.txt", OUTDIR + "output-05.txt");
|
||||
initStorage(INDIR, "signons-empty.txt", OUTDIR, "output-05.txt");
|
||||
|
||||
testdesc = "Add 3 logins (2 to same host)";
|
||||
storage.addLogin(dummyuser3);
|
||||
|
@ -294,7 +297,7 @@ storage.addLogin(dummyuser1);
|
|||
storage.addLogin(dummyuser2);
|
||||
|
||||
testdesc = "[flush and reload for verification]";
|
||||
initStorage(OUTDIR + "output-05.txt", null);
|
||||
initStorage(OUTDIR, "output-05.txt", null, null);
|
||||
|
||||
testdesc = "Verify output-05.txt";
|
||||
logins = [dummyuser1, dummyuser2, dummyuser3];
|
||||
|
|
Загрузка…
Ссылка в новой задаче