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