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

Side by Side Diff: Source/core/editing/GranularityStrategyTest.cpp

Issue 1317053004: Make VisiblePosition constructor private (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-09-02T12:44:47 Rebase Created 5 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 unified diff | Download patch
« no previous file with comments | « Source/core/editing/FrameSelectionTest.cpp ('k') | Source/core/editing/PlainTextRange.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "bindings/core/v8/ExceptionStatePlaceholder.h" 7 #include "bindings/core/v8/ExceptionStatePlaceholder.h"
8 #include "core/HTMLNames.h" 8 #include "core/HTMLNames.h"
9 #include "core/dom/Document.h" 9 #include "core/dom/Document.h"
10 #include "core/dom/Element.h" 10 #include "core/dom/Element.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 } 117 }
118 118
119 void GranularityStrategyTest::parseText(std::vector<Text*> textNodes) 119 void GranularityStrategyTest::parseText(std::vector<Text*> textNodes)
120 { 120 {
121 bool wordStarted = false; 121 bool wordStarted = false;
122 int wordStartIndex = 0; 122 int wordStartIndex = 0;
123 for (Text* text : textNodes) { 123 for (Text* text : textNodes) {
124 int wordStartIndexOffset = m_letterPos.size(); 124 int wordStartIndexOffset = m_letterPos.size();
125 WTF::String str = text->wholeText(); 125 WTF::String str = text->wholeText();
126 for (size_t i = 0; i < str.length(); i++) { 126 for (size_t i = 0; i < str.length(); i++) {
127 m_letterPos.push_back(visiblePositionToContentsPoint(VisiblePosition (Position(text, i)))); 127 m_letterPos.push_back(visiblePositionToContentsPoint(createVisiblePo sition(Position(text, i))));
128 char c = str.characterAt(i); 128 char c = str.characterAt(i);
129 if (isASCIIAlphanumeric(c) && !wordStarted) { 129 if (isASCIIAlphanumeric(c) && !wordStarted) {
130 wordStartIndex = i + wordStartIndexOffset; 130 wordStartIndex = i + wordStartIndexOffset;
131 wordStarted = true; 131 wordStarted = true;
132 } else if (!isASCIIAlphanumeric(c) && wordStarted) { 132 } else if (!isASCIIAlphanumeric(c) && wordStarted) {
133 IntPoint wordMiddle((m_letterPos[wordStartIndex].x() + m_letterP os[i + wordStartIndexOffset].x()) / 2, m_letterPos[wordStartIndex].y()); 133 IntPoint wordMiddle((m_letterPos[wordStartIndex].x() + m_letterP os[i + wordStartIndexOffset].x()) / 2, m_letterPos[wordStartIndex].y());
134 m_wordMiddles.push_back(wordMiddle); 134 m_wordMiddles.push_back(wordMiddle);
135 wordStarted = false; 135 wordStarted = false;
136 } 136 }
137 } 137 }
138 } 138 }
139 if (wordStarted) { 139 if (wordStarted) {
140 Text* lastNode = textNodes[textNodes.size() - 1]; 140 Text* lastNode = textNodes[textNodes.size() - 1];
141 int xEnd = visiblePositionToContentsPoint(VisiblePosition(Position(lastN ode, lastNode->wholeText().length()))).x(); 141 int xEnd = visiblePositionToContentsPoint(createVisiblePosition(Position (lastNode, lastNode->wholeText().length()))).x();
142 IntPoint wordMiddle((m_letterPos[wordStartIndex].x() + xEnd) / 2, m_lett erPos[wordStartIndex].y()); 142 IntPoint wordMiddle((m_letterPos[wordStartIndex].x() + xEnd) / 2, m_lett erPos[wordStartIndex].y());
143 m_wordMiddles.push_back(wordMiddle); 143 m_wordMiddles.push_back(wordMiddle);
144 } 144 }
145 } 145 }
146 146
147 PassRefPtrWillBeRawPtr<Text> GranularityStrategyTest::setupTranslateZ(WTF::Strin g str) 147 PassRefPtrWillBeRawPtr<Text> GranularityStrategyTest::setupTranslateZ(WTF::Strin g str)
148 { 148 {
149 setInnerHTML( 149 setInnerHTML(
150 "<html>" 150 "<html>"
151 "<head>" 151 "<head>"
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 TEST_F(GranularityStrategyTest, Character) 477 TEST_F(GranularityStrategyTest, Character)
478 { 478 {
479 dummyPageHolder().frame().settings()->setSelectionStrategy(SelectionStrategy ::Character); 479 dummyPageHolder().frame().settings()->setSelectionStrategy(SelectionStrategy ::Character);
480 dummyPageHolder().frame().settings()->setDefaultFontSize(12); 480 dummyPageHolder().frame().settings()->setDefaultFontSize(12);
481 // "Foo Bar Baz," 481 // "Foo Bar Baz,"
482 RefPtrWillBeRawPtr<Text> text = appendTextNode("Foo Bar Baz,"); 482 RefPtrWillBeRawPtr<Text> text = appendTextNode("Foo Bar Baz,");
483 // "Foo B^a|>r Baz," (^ means base, | means extent, , < means start, and > m eans end). 483 // "Foo B^a|>r Baz," (^ means base, | means extent, , < means start, and > m eans end).
484 selection().setSelection(VisibleSelection(Position(text, 5), Position(text, 6))); 484 selection().setSelection(VisibleSelection(Position(text, 5), Position(text, 6)));
485 EXPECT_EQ_SELECTED_TEXT("a"); 485 EXPECT_EQ_SELECTED_TEXT("a");
486 // "Foo B^ar B|>az," 486 // "Foo B^ar B|>az,"
487 selection().moveRangeSelectionExtent(visiblePositionToContentsPoint(VisibleP osition(Position(text, 9)))); 487 selection().moveRangeSelectionExtent(visiblePositionToContentsPoint(createVi siblePosition(Position(text, 9))));
488 EXPECT_EQ_SELECTED_TEXT("ar B"); 488 EXPECT_EQ_SELECTED_TEXT("ar B");
489 // "F<|oo B^ar Baz," 489 // "F<|oo B^ar Baz,"
490 selection().moveRangeSelectionExtent(visiblePositionToContentsPoint(VisibleP osition(Position(text, 1)))); 490 selection().moveRangeSelectionExtent(visiblePositionToContentsPoint(createVi siblePosition(Position(text, 1))));
491 EXPECT_EQ_SELECTED_TEXT("oo B"); 491 EXPECT_EQ_SELECTED_TEXT("oo B");
492 } 492 }
493 493
494 // DirectionGranularityStrategy strategy on rotated text should revert to the 494 // DirectionGranularityStrategy strategy on rotated text should revert to the
495 // same behavior as CharacterGranularityStrategy 495 // same behavior as CharacterGranularityStrategy
496 TEST_F(GranularityStrategyTest, DirectionRotate) 496 TEST_F(GranularityStrategyTest, DirectionRotate)
497 { 497 {
498 RefPtrWillBeRawPtr<Text> text = setupRotate("Foo Bar Baz,"); 498 RefPtrWillBeRawPtr<Text> text = setupRotate("Foo Bar Baz,");
499 // "Foo B^a|>r Baz," (^ means base, | means extent, , < means start, and > m eans end). 499 // "Foo B^a|>r Baz," (^ means base, | means extent, , < means start, and > m eans end).
500 selection().setSelection(VisibleSelection(Position(text, 5), Position(text, 6))); 500 selection().setSelection(VisibleSelection(Position(text, 5), Position(text, 6)));
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 652
653 // "ab cd efghijkl ^mnopqr |>stuvwi inm," (^ means base and | means extent, 653 // "ab cd efghijkl ^mnopqr |>stuvwi inm," (^ means base and | means extent,
654 // > means end). 654 // > means end).
655 selection().setSelection(VisibleSelection(Position(text, 15), Position(text, 22))); 655 selection().setSelection(VisibleSelection(Position(text, 15), Position(text, 22)));
656 EXPECT_EQ_SELECTED_TEXT("mnopqr "); 656 EXPECT_EQ_SELECTED_TEXT("mnopqr ");
657 selection().moveRangeSelectionExtent(m_wordMiddles[4]); 657 selection().moveRangeSelectionExtent(m_wordMiddles[4]);
658 EXPECT_EQ_SELECTED_TEXT("mnopqr iiin"); 658 EXPECT_EQ_SELECTED_TEXT("mnopqr iiin");
659 } 659 }
660 660
661 } // namespace blink 661 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/editing/FrameSelectionTest.cpp ('k') | Source/core/editing/PlainTextRange.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698