зеркало из https://github.com/mozilla/gecko-dev.git
Bug 834000 - Removing passwords in Firefox/Thunderbird 18.* always randomly reorders list of passwords in password manager. r=MattN
This commit is contained in:
Родитель
0d2a433c21
Коммит
0ee72acfee
|
@ -57,9 +57,6 @@ var signonReloadDisplay = {
|
|||
return;
|
||||
}
|
||||
signons.length = 0;
|
||||
if (lastSignonSortColumn == "hostname") {
|
||||
lastSignonSortAscending = !lastSignonSortAscending; // prevents sort from being reversed
|
||||
}
|
||||
LoadSignons();
|
||||
// apply the filter if needed
|
||||
if (document.getElementById("filter") && document.getElementById("filter").value != "") {
|
||||
|
|
|
@ -17,6 +17,7 @@ function test() {
|
|||
"Toolkit:PasswordManagerExceptions", "");
|
||||
let logins = [];
|
||||
let loginCounter = 0;
|
||||
let loginOrder = null;
|
||||
let modifiedLogin;
|
||||
let testNumber = 0;
|
||||
let testObserver = {
|
||||
|
@ -24,35 +25,34 @@ function test() {
|
|||
if (topic == "passwordmgr-dialog-updated") {
|
||||
switch (testNumber) {
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
is(countLogins(), loginCounter, "Verify login added");
|
||||
ok(getLoginOrder().startsWith(loginOrder), "Verify login order");
|
||||
runNextTest();
|
||||
break;
|
||||
case 2:
|
||||
case 6:
|
||||
is(countLogins(), loginCounter, "Verify login count");
|
||||
is(getLoginOrder(), loginOrder, "Verify login order");
|
||||
is(getLoginPassword(), "newpassword0", "Verify login modified");
|
||||
runNextTest();
|
||||
break;
|
||||
case 3:
|
||||
is(countLogins(), loginCounter, "Verify login removed");
|
||||
runNextTest();
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
is(countLogins(), loginCounter, "Verify login added");
|
||||
is(countLogins(), loginCounter, "Verify login removed");
|
||||
ok(loginOrder.endsWith(getLoginOrder()), "Verify login order");
|
||||
runNextTest();
|
||||
break;
|
||||
case 9:
|
||||
case 8:
|
||||
is(countLogins(), 0, "Verify all logins removed");
|
||||
runNextTest();
|
||||
break;
|
||||
case 10:
|
||||
case 9:
|
||||
is(countDisabledHosts(), 1, "Verify disabled host added");
|
||||
runNextTest();
|
||||
break;
|
||||
case 11:
|
||||
case 10:
|
||||
is(countDisabledHosts(), 0, "Verify disabled host removed");
|
||||
runNextTest();
|
||||
break;
|
||||
|
@ -87,6 +87,17 @@ function test() {
|
|||
return signonsTree.view.rowCount;
|
||||
}
|
||||
|
||||
function getLoginOrder() {
|
||||
let doc = pmDialog.document;
|
||||
let signonsTree = doc.getElementById("signonsTree");
|
||||
let column = signonsTree.columns[0]; // host column
|
||||
let order = [];
|
||||
for (let i = 0; i < signonsTree.view.rowCount; i++) {
|
||||
order.push(signonsTree.view.getCellText(i, column));
|
||||
}
|
||||
return order.join(',');
|
||||
}
|
||||
|
||||
function getLoginPassword() {
|
||||
let doc = pmDialog.document;
|
||||
let loginsTree = doc.getElementById("signonsTree");
|
||||
|
@ -104,36 +115,35 @@ function test() {
|
|||
|
||||
function runNextTest() {
|
||||
switch (++testNumber) {
|
||||
case 1: // add a login
|
||||
loginCounter++;
|
||||
Services.logins.addLogin(logins[0]);
|
||||
break;
|
||||
case 2: // modify a login
|
||||
Services.logins.modifyLogin(logins[0], modifiedLogin);
|
||||
break;
|
||||
case 3: // remove a login
|
||||
loginCounter--;
|
||||
Services.logins.removeLogin(modifiedLogin);
|
||||
break;
|
||||
case 4: // add all logins
|
||||
case 1: // add the logins
|
||||
for (let i = 0; i < logins.length; i++) {
|
||||
loginCounter++;
|
||||
loginOrder = getLoginOrder();
|
||||
Services.logins.addLogin(logins[i]);
|
||||
}
|
||||
break;
|
||||
case 9: // remove all logins
|
||||
case 6: // modify a login
|
||||
loginOrder = getLoginOrder();
|
||||
Services.logins.modifyLogin(logins[0], modifiedLogin);
|
||||
break;
|
||||
case 7: // remove a login
|
||||
loginCounter--;
|
||||
loginOrder = getLoginOrder();
|
||||
Services.logins.removeLogin(modifiedLogin);
|
||||
break;
|
||||
case 8: // remove all logins
|
||||
Services.logins.removeAllLogins();
|
||||
break;
|
||||
case 10: // save a disabled host
|
||||
case 9: // save a disabled host
|
||||
pmDialog.close();
|
||||
SimpleTest.waitForFocus(function() {
|
||||
Services.logins.setLoginSavingEnabled(LOGIN_HOST, false);
|
||||
}, pmexDialog);
|
||||
break;
|
||||
case 11: // remove a disabled host
|
||||
case 10: // remove a disabled host
|
||||
Services.logins.setLoginSavingEnabled(LOGIN_HOST, true);
|
||||
break;
|
||||
case 12: // finish
|
||||
case 11: // finish
|
||||
Services.obs.removeObserver(
|
||||
testObserver, "passwordmgr-dialog-updated", false);
|
||||
pmexDialog.close();
|
||||
|
|
Загрузка…
Ссылка в новой задаче