• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Include test fixture.
6GEN_INCLUDE(['../testing/chromevox_unittest_base.js']);
7
8/**
9 * Test fixture.
10 * @constructor
11 * @extends {ChromeVoxUnitTestBase}
12 */
13function CvoxFindUtilUnitTest() {}
14
15CvoxFindUtilUnitTest.prototype = {
16  __proto__: ChromeVoxUnitTestBase.prototype,
17
18  /** @override */
19  closureModuleDeps: [
20    'cvox.FindUtil',
21  ]
22};
23
24TEST_F('CvoxFindUtilUnitTest', 'Links', function() {
25  this.loadDoc(function() {/*!
26    <div>
27      <p id="before">Before</p>
28      <h2>Chapter 1</h2>
29      <h2>Chapter 2</h2>
30      <a href="#c3" id="c3" name="chapter_3"></a>
31      <h2 id="c3_2">Chapter 3</h2>
32      <h2 id="c4">Chapter 4</h2>
33      <h2>Chapter 5</h2>
34      <h2>Chapter 6</h2>
35      <a href='#c7' id="c7" name="chapter_7"><h2 id="c7_2">Chapter 7</h2></a>
36      <h2 id="c8">Chapter 8</h2>
37      <p id="after">After</p>
38     </div>
39  */});
40
41  var sel = cvox.CursorSelection.fromNode($('before'));
42
43  var ret = cvox.FindUtil.findNext(sel, cvox.DomPredicates.linkPredicate);
44  assertEquals('c3', ret.start.node.id);
45  ret = cvox.FindUtil.findNext(ret, cvox.DomPredicates.linkPredicate);
46  assertEquals('c7', ret.start.node.id);
47
48  ret.setReversed(true);
49  ret = cvox.FindUtil.findNext(ret, cvox.DomPredicates.linkPredicate);
50  assertEquals('c3', ret.start.node.id);
51});
52