| Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors_test.extjs
|
| diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors_test.extjs b/chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors_test.extjs
|
| index fd8243cea91bd8202c1642b4ed6809c2384b44be..f0b8a9e1b22df15a8b543fbca5132dd3898cf95c 100644
|
| --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors_test.extjs
|
| +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors_test.extjs
|
| @@ -462,3 +462,54 @@ TEST_F('CursorsTest', 'ContentEquality', function() {
|
| assertFalse(inlineTextBoxRange.contentEquals(rootRange));
|
| });
|
| });
|
| +
|
| +TEST_F('CursorsTest', 'DeepEquivalency', function() {
|
| + this.runWithLoadedTree(function() {/*!
|
| + <p style="word-spacing:100000px">this is a test</p>
|
| + */}, function(root) {
|
| + var textNode = root.find({role: RoleType.STATIC_TEXT});
|
| +
|
| + var text = new cursors.Cursor(textNode, 2);
|
| + deep = text.deepEquivalent;
|
| + assertEquals('this ', deep.node.name);
|
| + assertEquals(RoleType.INLINE_TEXT_BOX, deep.node.role);
|
| + assertEquals(2, deep.index);
|
| +
|
| + text = new cursors.Cursor(textNode, 5);
|
| + deep = text.deepEquivalent;
|
| + assertEquals('is ', deep.node.name);
|
| + assertEquals(RoleType.INLINE_TEXT_BOX, deep.node.role);
|
| + assertEquals(0, deep.index);
|
| +
|
| + text = new cursors.Cursor(textNode, 7);
|
| + deep = text.deepEquivalent;
|
| + assertEquals('is ', deep.node.name);
|
| + assertEquals(RoleType.INLINE_TEXT_BOX, deep.node.role);
|
| + assertEquals(2, deep.index);
|
| +
|
| + text = new cursors.Cursor(textNode, 8);
|
| + deep = text.deepEquivalent;
|
| + assertEquals('a ', deep.node.name);
|
| + assertEquals(RoleType.INLINE_TEXT_BOX, deep.node.role);
|
| + assertEquals(0, deep.index);
|
| +
|
| + text = new cursors.Cursor(textNode, 11);
|
| + deep = text.deepEquivalent;
|
| + assertEquals('test', deep.node.name);
|
| + assertEquals(RoleType.INLINE_TEXT_BOX, deep.node.role);
|
| + assertEquals(1, deep.index);
|
| +
|
| + // This is the only selection that can be placed at the length of the node's
|
| + // text. This only happens at the end of a line.
|
| + text = new cursors.Cursor(textNode, 14);
|
| + deep = text.deepEquivalent;
|
| + assertEquals('test', deep.node.name);
|
| + assertEquals(RoleType.INLINE_TEXT_BOX, deep.node.role);
|
| + assertEquals(4, deep.index);
|
| +
|
| + // However, any offset larger is invalid.
|
| + text = new cursors.Cursor(textNode, 15);
|
| + deep = text.deepEquivalent;
|
| + assertTrue(text.equals(deep));
|
| + });
|
| +});
|
|
|