fune/devtools/server/tests/browser/browser_accessibility_simple.js
Julian Descottes 640fe52298 Bug 1454696 - Run eslint --fix for prefer-const;r=yulia
MozReview-Commit-ID: F6xUXCgdRE4

--HG--
extra : rebase_source : 65de1b0aba412d9044b5196115f74276caa058f2
2018-06-01 12:36:09 +02:00

68 lines
2.7 KiB
JavaScript

/* 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
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const PREF_ACCESSIBILITY_FORCE_DISABLED = "accessibility.force_disabled";
function checkAccessibilityState(accessibility, expected) {
const { enabled, canBeDisabled, canBeEnabled } = accessibility;
is(enabled, expected.enabled, "Enabled state is correct.");
is(canBeDisabled, expected.canBeDisabled, "canBeDisabled state is correct.");
is(canBeEnabled, expected.canBeEnabled, "canBeEnabled state is correct.");
}
// Simple checks for the AccessibilityActor and AccessibleWalkerActor
add_task(async function() {
const { walker: domWalker, client, accessibility} = await initAccessibilityFrontForUrl(
"data:text/html;charset=utf-8,<title>test</title><div></div>");
ok(accessibility, "The AccessibilityFront was created");
ok(accessibility.getWalker, "The getWalker method exists");
let a11yWalker = await accessibility.getWalker();
ok(a11yWalker, "The AccessibleWalkerFront was returned");
checkAccessibilityState(accessibility,
{ enabled: false, canBeDisabled: true, canBeEnabled: true });
info("Force disable accessibility service: updates canBeEnabled flag");
let onEvent = accessibility.once("can-be-enabled-change");
Services.prefs.setIntPref(PREF_ACCESSIBILITY_FORCE_DISABLED, 1);
await onEvent;
checkAccessibilityState(accessibility,
{ enabled: false, canBeDisabled: true, canBeEnabled: false });
info("Clear force disable accessibility service: updates canBeEnabled flag");
onEvent = accessibility.once("can-be-enabled-change");
Services.prefs.clearUserPref(PREF_ACCESSIBILITY_FORCE_DISABLED);
await onEvent;
checkAccessibilityState(accessibility,
{ enabled: false, canBeDisabled: true, canBeEnabled: true });
info("Initialize accessibility service");
const initEvent = accessibility.once("init");
await accessibility.enable();
await waitForA11yInit();
await initEvent;
checkAccessibilityState(accessibility,
{ enabled: true, canBeDisabled: true, canBeEnabled: true });
a11yWalker = await accessibility.getWalker();
const rootNode = await domWalker.getRootNode();
const a11yDoc = await a11yWalker.getAccessibleFor(rootNode);
ok(a11yDoc, "Accessible document actor is created");
info("Shutdown accessibility service");
const shutdownEvent = accessibility.once("shutdown");
await accessibility.disable();
await waitForA11yShutdown();
await shutdownEvent;
checkAccessibilityState(accessibility,
{ enabled: false, canBeDisabled: true, canBeEnabled: true });
await client.close();
gBrowser.removeCurrentTab();
});