| Index: chrome/browser/resources/chromeos/switch_access/automation_predicate_unittest.gtestjs
|
| diff --git a/chrome/browser/resources/chromeos/switch_access/automation_predicate_unittest.gtestjs b/chrome/browser/resources/chromeos/switch_access/automation_predicate_unittest.gtestjs
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b24d637fa5b316a2ed7bac2e34d80478a4380f49
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/chromeos/switch_access/automation_predicate_unittest.gtestjs
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/**
|
| + * Test fixture for automation_predicate.js.
|
| + * @constructor
|
| + * @extends {testing.Test}
|
| + */
|
| +function AutomationPredicateUnitTest () {
|
| + testing.Test.call(this);
|
| +};
|
| +
|
| +AutomationPredicateUnitTest.prototype = {
|
| + __proto__: testing.Test.prototype,
|
| +
|
| + /** @override */
|
| + extraLibraries: [
|
| + 'automation_predicate.js',
|
| + ],
|
| +
|
| + /** @override */
|
| + browsePreload: DUMMY_URL,
|
| +};
|
| +
|
| +TEST_F('AutomationPredicateUnitTest', 'IsInteresting', function() {
|
| + chrome.automation = {
|
| + RoleType: {
|
| + DESKTOP: 'desktop', ROOT_WEB_AREA: 'rootWebArea', TAB: 'tab',
|
| + TAB_LIST: 'tabList', WEB_VIEW: 'webView'
|
| + },
|
| + StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'}
|
| + };
|
| +
|
| + // Testing focusable.
|
| + let loc1 = {left: 0, top: 0, width: 0, height: 0};
|
| + let node1 = {location: loc1, state: {}};
|
| + let node2 = {location: loc1, state: {focusable: false}};
|
| + let node3 = {location: loc1, state: {focusable: true}};
|
| + assertFalse(AutomationPredicate.isInteresting(node1));
|
| + assertFalse(AutomationPredicate.isInteresting(node2));
|
| + assertTrue(AutomationPredicate.isInteresting(node3));
|
| +
|
| + // Testing onscreen.
|
| + let loc2 = {left: -1, top: 0, width: 0, height: 0};
|
| + let loc3 = {left: 0, top: -1, width: 0, height: 0};
|
| + let node4 = {location: loc2, state: {focusable: true}};
|
| + let node5 = {location: loc3, state: {focusable: true}};
|
| + let node6 = {location: loc1, state: {focusable: true, offscreen: true}}
|
| + assertFalse(AutomationPredicate.isInteresting(node4));
|
| + assertFalse(AutomationPredicate.isInteresting(node5));
|
| + assertFalse(AutomationPredicate.isInteresting(node6));
|
| +
|
| + // Testing if tab.
|
| + let node7 = {location: loc1, role: 'desktop', state: {}};
|
| + let node8 = {location: loc1, role: 'tabList', state: {}};
|
| + let node9 =
|
| + {location: loc1, parent: node8, root: node7, role: 'tab', state: {}};
|
| + assertFalse(AutomationPredicate.isInteresting(node7));
|
| + assertFalse(AutomationPredicate.isInteresting(node8));
|
| + assertTrue(AutomationPredicate.isInteresting(node9));
|
| +});
|
|
|