Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tests for the BackupSettings component</title>
<script
src="chrome://browser/content/backup/backup-settings.mjs"
type="module"
></script>
<link rel="localization" href="branding/brand.ftl"/>
<link rel="localization" href="preview/backupSettings.ftl" />
<script>
const { BrowserTestUtils } = ChromeUtils.importESModule(
);
/**
* Test's that the trigger backup button change's it's state based on backupInProgress
*/
add_task(async function test_backupTriggerStateChange() {
let settings = document.getElementById("test-backup-settings");
let triggerBackupButton = settings.triggerBackupButtonEl;
settings.backupServiceState = {
defaultParent: {
path: PathUtils.join(PathUtils.tempDir, "test-default-path"),
fileName: "test-default-path",
},
backupInProgress: true,
scheduledBackupsEnabled: false,
}
await settings.updateComplete;
is(
triggerBackupButton.getAttribute("data-l10n-id"),
"settings-data-backup-in-progress-button"
);
ok(triggerBackupButton.disabled, "Trigger backup button is disabled when backup is off");
settings.backupServiceState = {
defaultParent: {
path: PathUtils.join(PathUtils.tempDir, "test-default-path"),
fileName: "test-default-path",
},
backupInProgress: true,
scheduledBackupsEnabled: true,
}
await settings.updateComplete;
ok(triggerBackupButton.disabled, "Trigger backup button should be disabled when backing up");
settings.backupServiceState = {
defaultParent: {
path: PathUtils.join(PathUtils.tempDir, "test-default-path"),
fileName: "test-default-path",
},
backupInProgress: false,
scheduledBackupsEnabled: true,
}
await settings.updateComplete;
ok(!triggerBackupButton.disabled, "Trigger backup button should be enabled");
settings.remove();
});
</script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
<backup-settings id="test-backup-settings"></backup-settings>
</div>
<pre id="test"></pre>
</body>
</html>