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:
sayrer%gmail.com 2007-05-27 06:14:39 +00:00
Родитель bfe3fd218b
Коммит a608412763
2 изменённых файлов: 39 добавлений и 35 удалений

Просмотреть файл

@ -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];