| OLD | NEW |
| 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 "core/dom/Text.h" | 7 #include "core/dom/Text.h" |
| 8 #include "core/editing/EditingTestBase.h" | 8 #include "core/editing/EditingTestBase.h" |
| 9 #include "core/editing/VisiblePosition.h" | 9 #include "core/editing/VisiblePosition.h" |
| 10 #include "core/html/HTMLTextFormControlElement.h" | 10 #include "core/html/HTMLTextFormControlElement.h" |
| (...skipping 1030 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1041 | 1041 |
| 1042 // In case of each line has one character, VisiblePosition are: | 1042 // In case of each line has one character, VisiblePosition are: |
| 1043 // [C,Dn] [C,Up] [B, Dn] [B, Up] | 1043 // [C,Dn] [C,Up] [B, Dn] [B, Up] |
| 1044 // A A A A| | 1044 // A A A A| |
| 1045 // B B| |B B | 1045 // B B| |B B |
| 1046 // |C C C C | 1046 // |C C C C |
| 1047 EXPECT_EQ(PositionWithAffinity(Position(sample, 1)), previousPositionOf(crea
teVisiblePosition(Position(sample, 2))).toPositionWithAffinity()); | 1047 EXPECT_EQ(PositionWithAffinity(Position(sample, 1)), previousPositionOf(crea
teVisiblePosition(Position(sample, 2))).toPositionWithAffinity()); |
| 1048 EXPECT_EQ(PositionWithAffinity(Position(sample, 1)), previousPositionOf(crea
teVisiblePosition(Position(sample, 2), TextAffinity::Upstream)).toPositionWithAf
finity()); | 1048 EXPECT_EQ(PositionWithAffinity(Position(sample, 1)), previousPositionOf(crea
teVisiblePosition(Position(sample, 2), TextAffinity::Upstream)).toPositionWithAf
finity()); |
| 1049 } | 1049 } |
| 1050 | 1050 |
| 1051 TEST_F(VisibleUnitsTest, previousPositionOfNoPreviousPosition) |
| 1052 { |
| 1053 setBodyContent( |
| 1054 "<span contenteditable='true'>" |
| 1055 "<span> </span>" |
| 1056 " " // This whitespace causes no previous position. |
| 1057 "<div id='anchor'> bar</div>" |
| 1058 "</span>"); |
| 1059 const Position position(document().getElementById("anchor")->firstChild(), 1
); |
| 1060 EXPECT_EQ(Position(), previousPositionOf(createVisiblePosition(position)).de
epEquivalent()); |
| 1061 } |
| 1062 |
| 1051 TEST_F(VisibleUnitsTest, rendersInDifferentPositionAfterAnchor) | 1063 TEST_F(VisibleUnitsTest, rendersInDifferentPositionAfterAnchor) |
| 1052 { | 1064 { |
| 1053 const char* bodyContent = "<p id='sample'>00</p>"; | 1065 const char* bodyContent = "<p id='sample'>00</p>"; |
| 1054 setBodyContent(bodyContent); | 1066 setBodyContent(bodyContent); |
| 1055 Element* sample = document().getElementById("sample"); | 1067 Element* sample = document().getElementById("sample"); |
| 1056 | 1068 |
| 1057 EXPECT_FALSE(rendersInDifferentPosition(Position(), Position())); | 1069 EXPECT_FALSE(rendersInDifferentPosition(Position(), Position())); |
| 1058 EXPECT_FALSE(rendersInDifferentPosition(Position(), Position::afterNode(samp
le))) | 1070 EXPECT_FALSE(rendersInDifferentPosition(Position(), Position::afterNode(samp
le))) |
| 1059 << "if one of position is null, the reuslt is false."; | 1071 << "if one of position is null, the reuslt is false."; |
| 1060 EXPECT_FALSE(rendersInDifferentPosition(Position::afterNode(sample), Positio
n(sample, 1))); | 1072 EXPECT_FALSE(rendersInDifferentPosition(Position::afterNode(sample), Positio
n(sample, 1))); |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1303 { | 1315 { |
| 1304 // Repro case of crbug.com/584030 | 1316 // Repro case of crbug.com/584030 |
| 1305 const char* bodyContent = "<button><rt><script>document.designMode = 'on'</s
cript></rt></button>"; | 1317 const char* bodyContent = "<button><rt><script>document.designMode = 'on'</s
cript></rt></button>"; |
| 1306 setBodyContent(bodyContent); | 1318 setBodyContent(bodyContent); |
| 1307 | 1319 |
| 1308 Node* button = document().querySelector("button", ASSERT_NO_EXCEPTION); | 1320 Node* button = document().querySelector("button", ASSERT_NO_EXCEPTION); |
| 1309 EXPECT_TRUE(endsOfNodeAreVisuallyDistinctPositions(button)); | 1321 EXPECT_TRUE(endsOfNodeAreVisuallyDistinctPositions(button)); |
| 1310 } | 1322 } |
| 1311 | 1323 |
| 1312 } // namespace blink | 1324 } // namespace blink |
| OLD | NEW |