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)
 |