Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5805)

Unified Diff: chrome/browser/resources/chromeos/chromevox/common/content_editable_extractor_test.js

Issue 541403002: Rename ChromeVox tests and utilities for consistency. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkcr
Patch Set: Clarify comment in .gypi file. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/chromeos/chromevox/common/content_editable_extractor_test.js
diff --git a/chrome/browser/resources/chromeos/chromevox/common/content_editable_extractor_test.js b/chrome/browser/resources/chromeos/chromevox/common/content_editable_extractor_test.js
deleted file mode 100644
index 92351626a4ca1403c6343c3afb3f12c359fd7665..0000000000000000000000000000000000000000
--- a/chrome/browser/resources/chromeos/chromevox/common/content_editable_extractor_test.js
+++ /dev/null
@@ -1,310 +0,0 @@
-// Copyright 2014 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.
-
-// Include test fixture.
-GEN_INCLUDE(['../testing/chromevox_unittest_base.js']);
-
-/**
- * Test fixture.
- * @constructor
- * @extends {ChromeVoxUnitTestBase}
- */
-function CvoxContentEditableExtractorUnitTest() {}
-
-CvoxContentEditableExtractorUnitTest.prototype = {
- __proto__: ChromeVoxUnitTestBase.prototype,
-
- /** @override */
- closureModuleDeps: [
- 'cvox.ContentEditableExtractor',
- ]
-};
-
-TEST_F('CvoxContentEditableExtractorUnitTest', 'EmptyElement', function() {
- this.loadDoc(function() {/*!
- <div>
- <div id="textbox" contentEditable="true"></div>
- </div>
- */});
-
- var textbox = $('textbox');
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('', extractor.getText());
- assertEquals(0, extractor.getStartIndex());
- assertEquals(0, extractor.getEndIndex(0));
- assertEquals(0, extractor.getLineIndex(0));
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(0, extractor.getLineEnd(0));
-});
-
-/**
- * Test getting text and selections from a single contenteditable node.
- */
-TEST_F('CvoxContentEditableExtractorUnitTest', 'SingleTextNode', function() {
- this.loadDoc(function() {/*!
- <div>
- <div id="textbox" contentEditable="true">Hello</div>
- </div>
- */});
- var textbox = $('textbox');
-
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('Hello', extractor.getText());
- assertEquals(0, extractor.getLineIndex(0));
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(5, extractor.getLineEnd(0));
- assertEquals(5, extractor.getStartIndex());
- assertEquals(5, extractor.getEndIndex());
-
- // Test all possible cursor positions.
- for (var i = 0; i <= 5; i++) {
- setSelection(textbox.firstChild, i, textbox.firstChild, i);
- extractor.update(textbox);
- assertEquals(i, extractor.getStartIndex());
- assertEquals(i, extractor.getEndIndex());
- }
-
- // Test all possible ways to select one character.
- for (i = 0; i < 5; i++) {
- setSelection(textbox.firstChild, i, textbox.firstChild, i + 1);
- extractor.update(textbox);
- assertEquals(i, extractor.getStartIndex());
- assertEquals(i + 1, extractor.getEndIndex());
- }
-
- // Test selecting everything.
- setSelection(textbox.firstChild, 0, textbox.firstChild, 5);
- extractor.update(textbox);
- assertEquals(0, extractor.getStartIndex());
- assertEquals(5, extractor.getEndIndex());
-});
-
-/**
- * Test getting text and selections from a contenteditable node with
- * nonprinted whitespace.
- */
-TEST_F('CvoxContentEditableExtractorUnitTest', 'TextWithWhitespace',
- function() {
- this.loadDoc(function() {/*!
- <div>
- <div id="textbox" contentEditable="true"> Hello World </div>
- </div>
- */});
- var textbox = $('textbox');
-
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('Hello World', extractor.getText());
- assertEquals(0, extractor.getLineIndex(0));
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(11, extractor.getLineEnd(0));
- assertEquals(11, extractor.getStartIndex());
- assertEquals(11, extractor.getEndIndex());
-
- // Test all *reasonable* indexes of a selection into this text node
- // and the logical index into the text that these should result in.
- var expectedIndexMap = {
- 0: 0,
- 1: 0,
- 2: 1,
- 3: 2,
- 4: 3,
- 5: 4,
- 6: 5,
- // Note: index=7 should never happen
- 8: 6,
- 9: 7,
- 10: 8,
- 11: 9,
- 12: 10,
- 13: 11,
- 14: 11
- };
- for (var srcIndex in expectedIndexMap) {
- var dstIndex = expectedIndexMap[srcIndex];
- setSelection(textbox.firstChild, srcIndex, textbox.firstChild, srcIndex);
- extractor.update(textbox);
- assertEquals(dstIndex, extractor.getStartIndex());
- assertEquals(dstIndex, extractor.getEndIndex());
- }
-});
-
-/**
- * Test getting text and selections from a contenteditable node with
- * preformatted text.
- */
-TEST_F('CvoxContentEditableExtractorUnitTest', 'Preformatted', function() {
- this.loadDoc(function() {/*!
- <div>
- <pre id="textbox" contentEditable="true">aaaaaaaaaa
-bbbbbbbbbb
-cccccccccc</pre>
- </div>
- */});
- var textbox = $('textbox');
-
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('aaaaaaaaaa\nbbbbbbbbbb\ncccccccccc', extractor.getText());
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(11, extractor.getLineEnd(0));
- assertEquals(11, extractor.getLineStart(1));
- assertEquals(22, extractor.getLineEnd(1));
- assertEquals(22, extractor.getLineStart(2));
- assertEquals(32, extractor.getLineEnd(2));
-
- // Test all possible cursor positions.
- for (var i = 0; i <= 32; i++) {
- setSelection(textbox.firstChild, i, textbox.firstChild, i);
- extractor.update(textbox);
- assertEquals(i, extractor.getStartIndex());
- assertEquals(i, extractor.getEndIndex());
- }
-});
-
-/**
- * Test getting text and selections from a contenteditable node with
- * wrapping.
- */
-TEST_F('CvoxContentEditableExtractorUnitTest', 'WordWrap', function() {
- this.loadDoc(function() {/*!
- <div>
- <div id="textbox"
- style="width: 1em; word-wrap: normal"
- contentEditable="true">One two three</div>
- </div>
- */});
- var textbox = $('textbox');
-
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('One\ntwo\nthree', extractor.getText());
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(4, extractor.getLineEnd(0));
- assertEquals(4, extractor.getLineStart(1));
- assertEquals(8, extractor.getLineEnd(1));
- assertEquals(8, extractor.getLineStart(2));
- assertEquals(13, extractor.getLineEnd(2));
-
- // Test all possible cursor positions.
- for (var i = 0; i <= 13; i++) {
- setSelection(textbox.firstChild, i, textbox.firstChild, i);
- extractor.update(textbox);
- assertEquals(i, extractor.getStartIndex());
- assertEquals(i, extractor.getEndIndex());
- }
-});
-
-/**
- * Test getting text and lines from a contenteditable region
- * containing two paragraphs and an explicit line break.
- */
-TEST_F('CvoxContentEditableExtractorUnitTest', 'TwoParas', function() {
- this.loadDoc(function() {/*!
- <div>
- <div id="textbox" contentEditable="true">
- <p>One</p>
- <p>Two<br>Three</p>
- </div>
- </div>
- */});
- var textbox = $('textbox');
-
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('One\nTwo\nThree',
- extractor.getText());
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(4, extractor.getLineEnd(0));
- assertEquals(4, extractor.getLineStart(1));
- assertEquals(8, extractor.getLineEnd(1));
- assertEquals(8, extractor.getLineStart(2));
- assertEquals(13, extractor.getLineEnd(2));
-});
-
-/**
- * Test getting text and lines from a contenteditable region
- * containing two paragraphs, this time with added whitespace.
- */
-TEST_F('CvoxContentEditableExtractorUnitTest', 'TwoParasWithWhitespace',
- function() {
- this.loadDoc(function() {/*!
- <div>
- <div id="textbox" contentEditable="true">
- <p> One </p>
- <p> Two <br> Three </p>
- </div>
- </div>
- */});
- var textbox = $('textbox');
-
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('One\nTwo Three',
- extractor.getText());
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(4, extractor.getLineEnd(0));
- assertEquals(4, extractor.getLineStart(1));
- assertEquals(8, extractor.getLineEnd(1));
- assertEquals(8, extractor.getLineStart(2));
- assertEquals(13, extractor.getLineEnd(2));
-});
-
-/**
- * Test getting text and lines from a contenteditable region
- * containing some raw text and then some text in a block-level element.
- */
-TEST_F('CvoxContentEditableExtractorUnitTest', 'NodePlusElement', function() {
- this.loadDoc(function() {/*!
- <div>
- <div id="textbox"
- contentEditable="true">One<div>Two<br>Three</div></div>
- </div>
- */});
- var textbox = $('textbox');
-
- var extractor = new cvox.ContentEditableExtractor();
- extractor.update(textbox);
- assertEquals('One\nTwo\nThree',
- extractor.getText());
- assertEquals(0, extractor.getLineStart(0));
- assertEquals(4, extractor.getLineEnd(0));
- assertEquals(4, extractor.getLineStart(1));
- assertEquals(8, extractor.getLineEnd(1));
- assertEquals(8, extractor.getLineStart(2));
- assertEquals(13, extractor.getLineEnd(2));
-
- var oneTextNode = textbox.firstChild;
- assertEquals('One', oneTextNode.data);
- var twoTextNode = textbox.firstElementChild.firstChild;
- assertEquals('Two', twoTextNode.data);
- var threeTextNode = twoTextNode.nextSibling.nextSibling;
- assertEquals('Three', threeTextNode.data);
-
- // End of first line.
- setSelection(oneTextNode, 3, oneTextNode, 3);
- extractor.update(textbox);
- assertEquals(3, extractor.getStartIndex());
- assertEquals(3, extractor.getEndIndex());
-
- // Beginning of second line.
- setSelection(twoTextNode, 0, twoTextNode, 0);
- extractor.update(textbox);
- assertEquals(4, extractor.getStartIndex());
- assertEquals(4, extractor.getEndIndex());
-
- // End of second line.
- setSelection(twoTextNode, 3, twoTextNode, 3);
- extractor.update(textbox);
- assertEquals(7, extractor.getStartIndex());
- assertEquals(7, extractor.getEndIndex());
-
- // Beginning of third line.
- setSelection(threeTextNode, 0, threeTextNode, 0);
- extractor.update(textbox);
- assertEquals(8, extractor.getStartIndex());
- assertEquals(8, extractor.getEndIndex());
-});

Powered by Google App Engine
This is Rietveld 408576698