blob: 9bbb4776a29e1d59db221f7d17638d2a964edf01 [file] [log] [blame]
// Copyright 2015 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.
var EventType = chrome.automation.EventType;
var RoleType = chrome.automation.RoleType;
var html = "<head><title>testdoc</title></head>" +
'<p>para1</p><input type="text" id="textField" value="hello world">';
var allTests = [
function testInitialSelectionNotSet() {
assertEq(undefined, rootNode.anchorObject);
assertEq(undefined, rootNode.anchorOffset);
assertEq(undefined, rootNode.focusObject);
assertEq(undefined, rootNode.focusOffset);
chrome.test.succeed();
},
function selectOutsideTextField() {
var textNode = rootNode.find({role: RoleType.PARAGRAPH}).firstChild;
assertTrue(!!textNode);
chrome.automation.setDocumentSelection({anchorObject: textNode,
anchorOffset: 0,
focusObject: textNode,
focusOffset: 3});
listenOnce(rootNode, EventType.DOCUMENT_SELECTION_CHANGED, function(evt) {
assertEq(textNode, rootNode.anchorObject);
assertEq(0, rootNode.anchorOffset);
assertEq(textNode, rootNode.focusObject);
assertEq(3, rootNode.focusOffset);
chrome.test.succeed();
});
},
function selectInTextField() {
var textField = rootNode.find({role: RoleType.TEXT_FIELD});
assertTrue(!!textField);
textField.focus();
listenOnce(textField, EventType.TEXT_SELECTION_CHANGED, function(evt) {
listenOnce(rootNode, EventType.DOCUMENT_SELECTION_CHANGED, function(evt) {
assertTrue(evt.target === rootNode);
assertEq(textField, rootNode.anchorObject);
assertEq(0, rootNode.anchorOffset);
assertEq(textField, rootNode.focusObject);
assertEq(0, rootNode.focusOffset);
chrome.automation.setDocumentSelection({anchorObject: textField,
anchorOffset: 1,
focusObject: textField,
focusOffset: 3});
listenOnce(rootNode, EventType.DOCUMENT_SELECTION_CHANGED,
function(evt) {
assertEq(textField, rootNode.anchorObject);
assertEq(1, rootNode.anchorOffset);
assertEq(textField, rootNode.focusObject);
assertEq(3, rootNode.focusOffset);
chrome.test.succeed();
});
});
});
},
];
setUpAndRunTests(allTests, 'document_selection.html');