61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import logging
|
|
import time
|
|
|
|
from autotest_lib.client.common_lib.cros import chrome
|
|
from autotest_lib.client.cros.a11y import a11y_test_base
|
|
|
|
|
|
class accessibility_Sanity(a11y_test_base.a11y_test_base):
|
|
"""Enables then disables all a11y features via accessibilityFeatures API."""
|
|
version = 1
|
|
|
|
# Features that do not have their own separate tests
|
|
_FEATURE_LIST = [
|
|
'largeCursor',
|
|
'stickyKeys',
|
|
'highContrast',
|
|
'screenMagnifier',
|
|
'autoclick',
|
|
'virtualKeyboard'
|
|
]
|
|
|
|
|
|
def _check_chromevox(self):
|
|
"""Run ChromeVox specific checks.
|
|
|
|
Check the reported state of ChromeVox before/after enable and disable.
|
|
|
|
"""
|
|
# ChromeVox is initially off.
|
|
self._confirm_chromevox_state(False)
|
|
|
|
# Turn ChromeVox on and check that all the pieces work.
|
|
self._toggle_chromevox()
|
|
self._confirm_chromevox_state(True)
|
|
|
|
# Turn ChromeVox off.
|
|
self._toggle_chromevox()
|
|
self._confirm_chromevox_state(False)
|
|
|
|
|
|
def run_once(self):
|
|
"""Entry point of this test."""
|
|
extension_path = self._get_extension_path()
|
|
|
|
with chrome.Chrome(extension_paths=[extension_path]) as cr:
|
|
self._extension = cr.get_extension(extension_path)
|
|
|
|
# Check specific features.
|
|
self._check_chromevox()
|
|
|
|
# Enable then disable all other accessibility features.
|
|
for value in [True, False]:
|
|
for feature in self._FEATURE_LIST:
|
|
logging.info('Setting %s to %s.', feature, value)
|
|
self._set_feature(feature, value)
|
|
time.sleep(1)
|