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

Side by Side Diff: third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp

Issue 2950053002: Make Position::BeforeNode() to take const Node& instead of Node* (Closed)
Patch Set: 2017-06-21T17:56:36 Created 3 years, 6 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "core/editing/VisibleUnits.h" 5 #include "core/editing/VisibleUnits.h"
6 6
7 #include <ostream> // NOLINT 7 #include <ostream> // NOLINT
8 #include "bindings/core/v8/V8BindingForTesting.h" 8 #include "bindings/core/v8/V8BindingForTesting.h"
9 #include "core/dom/Text.h" 9 #include "core/dom/Text.h"
10 #include "core/editing/EditingTestBase.h" 10 #include "core/editing/EditingTestBase.h"
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 CanonicalPositionOf(Position(two, 0))); 237 CanonicalPositionOf(Position(two, 0)));
238 EXPECT_EQ(Position(two->firstChild(), 2), 238 EXPECT_EQ(Position(two->firstChild(), 2),
239 CanonicalPositionOf(Position(two, 1))); 239 CanonicalPositionOf(Position(two, 1)));
240 } 240 }
241 241
242 // For http://crbug.com/695317 242 // For http://crbug.com/695317
243 TEST_F(VisibleUnitsTest, canonicalPositionOfWithInputElement) { 243 TEST_F(VisibleUnitsTest, canonicalPositionOfWithInputElement) {
244 SetBodyContent("<input>123"); 244 SetBodyContent("<input>123");
245 Element* const input = GetDocument().QuerySelector("input"); 245 Element* const input = GetDocument().QuerySelector("input");
246 246
247 EXPECT_EQ(Position::BeforeNode(input), 247 EXPECT_EQ(Position::BeforeNode(*input),
248 CanonicalPositionOf(Position::FirstPositionInNode( 248 CanonicalPositionOf(Position::FirstPositionInNode(
249 GetDocument().documentElement()))); 249 GetDocument().documentElement())));
250 250
251 EXPECT_EQ(PositionInFlatTree::BeforeNode(input), 251 EXPECT_EQ(PositionInFlatTree::BeforeNode(*input),
252 CanonicalPositionOf(PositionInFlatTree::FirstPositionInNode( 252 CanonicalPositionOf(PositionInFlatTree::FirstPositionInNode(
253 GetDocument().documentElement()))); 253 GetDocument().documentElement())));
254 } 254 }
255 255
256 TEST_F(VisibleUnitsTest, characterBefore) { 256 TEST_F(VisibleUnitsTest, characterBefore) {
257 const char* body_content = 257 const char* body_content =
258 "<p id=host><b id=one>1</b><b id=two>22</b></p><b id=three>333</b>"; 258 "<p id=host><b id=one>1</b><b id=two>22</b></p><b id=three>333</b>";
259 const char* shadow_content = 259 const char* shadow_content =
260 "<b id=four>4444</b><content select=#two></content><content " 260 "<b id=four>4444</b><content select=#two></content><content "
261 "select=#one></content><b id=five>5555</b>"; 261 "select=#one></content><b id=five>5555</b>";
(...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after
1334 "<style>p:first-letter {color:red;}</style><p id=sample> (2)45 </p>"; 1334 "<style>p:first-letter {color:red;}</style><p id=sample> (2)45 </p>";
1335 SetBodyContent(body_content); 1335 SetBodyContent(body_content);
1336 1336
1337 Node* sample = GetDocument().getElementById("sample")->firstChild(); 1337 Node* sample = GetDocument().getElementById("sample")->firstChild();
1338 1338
1339 EXPECT_EQ(Position(GetDocument().body(), 0), 1339 EXPECT_EQ(Position(GetDocument().body(), 0),
1340 MostForwardCaretPosition( 1340 MostForwardCaretPosition(
1341 Position::FirstPositionInNode(GetDocument().body()))); 1341 Position::FirstPositionInNode(GetDocument().body())));
1342 EXPECT_EQ( 1342 EXPECT_EQ(
1343 Position(sample, 1), 1343 Position(sample, 1),
1344 MostForwardCaretPosition(Position::BeforeNode(sample->parentNode()))); 1344 MostForwardCaretPosition(Position::BeforeNode(*sample->parentNode())));
1345 EXPECT_EQ(Position(sample, 1), 1345 EXPECT_EQ(Position(sample, 1),
1346 MostForwardCaretPosition( 1346 MostForwardCaretPosition(
1347 Position::FirstPositionInNode(sample->parentNode()))); 1347 Position::FirstPositionInNode(sample->parentNode())));
1348 EXPECT_EQ(Position(sample, 1), MostForwardCaretPosition(Position(sample, 0))); 1348 EXPECT_EQ(Position(sample, 1), MostForwardCaretPosition(Position(sample, 0)));
1349 EXPECT_EQ(Position(sample, 1), MostForwardCaretPosition(Position(sample, 1))); 1349 EXPECT_EQ(Position(sample, 1), MostForwardCaretPosition(Position(sample, 1)));
1350 EXPECT_EQ(Position(sample, 2), MostForwardCaretPosition(Position(sample, 2))); 1350 EXPECT_EQ(Position(sample, 2), MostForwardCaretPosition(Position(sample, 2)));
1351 EXPECT_EQ(Position(sample, 3), MostForwardCaretPosition(Position(sample, 3))); 1351 EXPECT_EQ(Position(sample, 3), MostForwardCaretPosition(Position(sample, 3)));
1352 EXPECT_EQ(Position(sample, 4), MostForwardCaretPosition(Position(sample, 4))); 1352 EXPECT_EQ(Position(sample, 4), MostForwardCaretPosition(Position(sample, 4)));
1353 EXPECT_EQ(Position(sample, 5), MostForwardCaretPosition(Position(sample, 5))); 1353 EXPECT_EQ(Position(sample, 5), MostForwardCaretPosition(Position(sample, 5)));
1354 EXPECT_EQ(Position(sample, 7), MostForwardCaretPosition(Position(sample, 6))); 1354 EXPECT_EQ(Position(sample, 7), MostForwardCaretPosition(Position(sample, 6)));
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
1898 EXPECT_FALSE(rect.IsEmpty()); 1898 EXPECT_FALSE(rect.IsEmpty());
1899 } 1899 }
1900 1900
1901 // Regression test for crbug.com/675429 1901 // Regression test for crbug.com/675429
1902 TEST_F(VisibleUnitsTest, 1902 TEST_F(VisibleUnitsTest,
1903 canonicalizationWithCollapsedSpaceAndIsolatedCombiningCharacter) { 1903 canonicalizationWithCollapsedSpaceAndIsolatedCombiningCharacter) {
1904 SetBodyContent("<p> &#x20E3;</p>"); // Leading space is necessary 1904 SetBodyContent("<p> &#x20E3;</p>"); // Leading space is necessary
1905 1905
1906 Node* paragraph = GetDocument().QuerySelector("p"); 1906 Node* paragraph = GetDocument().QuerySelector("p");
1907 Node* text = paragraph->firstChild(); 1907 Node* text = paragraph->firstChild();
1908 Position start = CanonicalPositionOf(Position::BeforeNode(paragraph)); 1908 Position start = CanonicalPositionOf(Position::BeforeNode(*paragraph));
1909 EXPECT_EQ(Position(text, 2), start); 1909 EXPECT_EQ(Position(text, 2), start);
1910 } 1910 }
1911 1911
1912 TEST_F(VisibleUnitsTest, 1912 TEST_F(VisibleUnitsTest,
1913 PreviousRootInlineBoxCandidatePositionWithDisplayNone) { 1913 PreviousRootInlineBoxCandidatePositionWithDisplayNone) {
1914 SetBodyContent( 1914 SetBodyContent(
1915 "<div contenteditable>" 1915 "<div contenteditable>"
1916 "<div id=one>one abc</div>" 1916 "<div id=one>one abc</div>"
1917 "<div id=two>two <b id=none style=display:none>def</b> ghi</div>" 1917 "<div id=two>two <b id=none style=display:none>def</b> ghi</div>"
1918 "</div>"); 1918 "</div>");
1919 Element* const one = GetDocument().getElementById("one"); 1919 Element* const one = GetDocument().getElementById("one");
1920 Element* const two = GetDocument().getElementById("two"); 1920 Element* const two = GetDocument().getElementById("two");
1921 const VisiblePosition& visible_position = 1921 const VisiblePosition& visible_position =
1922 CreateVisiblePosition(Position::LastPositionInNode(two)); 1922 CreateVisiblePosition(Position::LastPositionInNode(two));
1923 EXPECT_EQ(Position(one->firstChild(), 7), 1923 EXPECT_EQ(Position(one->firstChild(), 7),
1924 PreviousRootInlineBoxCandidatePosition( 1924 PreviousRootInlineBoxCandidatePosition(
1925 two->lastChild(), visible_position, kContentIsEditable)); 1925 two->lastChild(), visible_position, kContentIsEditable));
1926 } 1926 }
1927 1927
1928 } // namespace blink 1928 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698