| 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/Position.h" | 5 #include "core/editing/Position.h" |
| 6 | 6 |
| 7 #include "core/editing/EditingTestBase.h" | 7 #include "core/editing/EditingTestBase.h" |
| 8 | 8 |
| 9 namespace blink { | 9 namespace blink { |
| 10 | 10 |
| 11 class PositionTest : public EditingTestBase {}; | 11 class PositionTest : public EditingTestBase {}; |
| 12 | 12 |
| 13 TEST_F(PositionTest, IsEquivalent) { |
| 14 SetBodyContent("<a id=sample>0<b>1</b>2</a>"); |
| 15 |
| 16 Element* sample = GetDocument().getElementById("sample"); |
| 17 |
| 18 EXPECT_TRUE(Position(sample, 0).IsEquivalent(Position(sample, 0))); |
| 19 |
| 20 EXPECT_TRUE( |
| 21 Position(sample, 0).IsEquivalent(Position::FirstPositionInNode(sample))); |
| 22 EXPECT_TRUE(Position(sample, 0).IsEquivalent( |
| 23 Position::BeforeNode(sample->firstChild()))); |
| 24 EXPECT_TRUE(Position(sample, 1).IsEquivalent( |
| 25 Position::AfterNode(sample->firstChild()))); |
| 26 EXPECT_TRUE(Position(sample, 1).IsEquivalent( |
| 27 Position::BeforeNode(sample->firstChild()->nextSibling()))); |
| 28 EXPECT_TRUE(Position(sample, 2).IsEquivalent( |
| 29 Position::BeforeNode(sample->lastChild()))); |
| 30 EXPECT_TRUE(Position(sample, 3).IsEquivalent( |
| 31 Position::AfterNode(sample->lastChild()))); |
| 32 EXPECT_TRUE( |
| 33 Position(sample, 3).IsEquivalent(Position::LastPositionInNode(sample))); |
| 34 |
| 35 EXPECT_FALSE(Position(sample, 0).IsEquivalent(Position(sample, 1))); |
| 36 EXPECT_FALSE( |
| 37 Position(sample, 0).IsEquivalent(Position::LastPositionInNode(sample))); |
| 38 } |
| 39 |
| 13 TEST_F(PositionTest, NodeAsRangeLastNodeNull) { | 40 TEST_F(PositionTest, NodeAsRangeLastNodeNull) { |
| 14 EXPECT_EQ(nullptr, Position().NodeAsRangeLastNode()); | 41 EXPECT_EQ(nullptr, Position().NodeAsRangeLastNode()); |
| 15 EXPECT_EQ(nullptr, PositionInFlatTree().NodeAsRangeLastNode()); | 42 EXPECT_EQ(nullptr, PositionInFlatTree().NodeAsRangeLastNode()); |
| 16 } | 43 } |
| 17 | 44 |
| 18 TEST_F(PositionTest, editingPositionOfWithEditingIgnoresContent) { | 45 TEST_F(PositionTest, editingPositionOfWithEditingIgnoresContent) { |
| 19 const char* body_content = | 46 const char* body_content = |
| 20 "<textarea id=textarea></textarea><a id=child1>1</a><b id=child2>2</b>"; | 47 "<textarea id=textarea></textarea><a id=child1>1</a><b id=child2>2</b>"; |
| 21 SetBodyContent(body_content); | 48 SetBodyContent(body_content); |
| 22 Node* textarea = GetDocument().getElementById("textarea"); | 49 Node* textarea = GetDocument().getElementById("textarea"); |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 const char* shadow_content = ""; | 222 const char* shadow_content = ""; |
| 196 SetBodyContent(body_content); | 223 SetBodyContent(body_content); |
| 197 ShadowRoot* shadow_root = SetShadowContent(shadow_content, "host"); | 224 ShadowRoot* shadow_root = SetShadowContent(shadow_content, "host"); |
| 198 Element* host = GetDocument().getElementById("host"); | 225 Element* host = GetDocument().getElementById("host"); |
| 199 | 226 |
| 200 EXPECT_EQ(PositionInFlatTree(host, PositionAnchorType::kAfterChildren), | 227 EXPECT_EQ(PositionInFlatTree(host, PositionAnchorType::kAfterChildren), |
| 201 ToPositionInFlatTree(Position(shadow_root, 0))); | 228 ToPositionInFlatTree(Position(shadow_root, 0))); |
| 202 } | 229 } |
| 203 | 230 |
| 204 } // namespace blink | 231 } // namespace blink |
| OLD | NEW |