Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'android' OR release_or_beta OR appname == 'thunderbird'
- Manifest: toolkit/components/satchel/megalist/aggregator/tests/unit/xpcshell.toml
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
"use strict";
const { LoginDataSource } = ChromeUtils.importESModule(
"resource://gre/modules/megalist/aggregator/datasources/LoginDataSource.sys.mjs"
);
do_get_profile();
add_task(async function test_loginDataSourceReloadDataSource() {
const logins = testData.loginList();
await Services.logins.addLogins(logins);
const loginDataSource = new LoginDataSource({
refreshSingleLineOnScreen: () => {},
refreshAllLinesOnScreen: () => {},
setLayout: () => {},
});
await TestUtils.waitForCondition(
() => loginDataSource.doneReloadDataSource,
"reloadDataSource has finished"
);
Assert.equal(
logins.length * 3,
loginDataSource.lines.length,
"created three lines for each login in storage."
);
const removedLogin = logins.pop();
await LoginTestUtils.removeLogin(removedLogin);
await TestUtils.waitForCondition(
() => loginDataSource.doneReloadDataSource,
"reloadDataSource has finished"
);
Assert.equal(
logins.length * 3,
loginDataSource.lines.length,
"removed three lines when a login was removed form storage."
);
LoginTestUtils.clearData();
});
add_task(
async function test_loginDataSourceEnumerateLinesRememberSignonsPrefOff() {
const logins = testData.loginList();
await Services.logins.addLogins(logins);
const loginDataSource = new LoginDataSource({
refreshSingleLineOnScreen: () => {},
refreshAllLinesOnScreen: () => {},
setLayout: () => {},
});
await TestUtils.waitForCondition(
() => loginDataSource.doneReloadDataSource,
"reloadDataSource has finished"
);
Services.prefs.setBoolPref("signon.rememberSignons", false);
await TestUtils.waitForCondition(
() => loginDataSource.doneReloadDataSource,
"reloadDataSource has finished"
);
Assert.ok(
!loginDataSource.lines.length,
"if rememberSignons pref is off, no logins should be loaded"
);
}
);