OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. Use of | 1 // Copyright 2017 The Chromium Authors. All rights reserved. Use of |
2 // this source code is governed by a BSD-style license that can be | 2 // 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/markers/SpellCheckMarkerListImpl.h" | 5 #include "core/editing/markers/SpellCheckMarkerListImpl.h" |
6 | 6 |
7 #include "core/editing/markers/RenderedDocumentMarker.h" | 7 #include "core/editing/markers/RenderedDocumentMarker.h" |
| 8 #include "core/editing/markers/SpellingMarkerListImpl.h" |
8 #include "platform/heap/Handle.h" | 9 #include "platform/heap/Handle.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
10 | 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 class SpellCheckMarkerListImplTest : public ::testing::Test { | 14 // This test class tests functionality implemented by SpellingMarkerListImpl and |
| 15 // also functionality implemented by its parent class SpellCheckMarkerListImpl. |
| 16 |
| 17 class SpellingMarkerListImplTest : public ::testing::Test { |
14 protected: | 18 protected: |
15 SpellCheckMarkerListImplTest() | 19 SpellingMarkerListImplTest() : marker_list_(new SpellingMarkerListImpl()) {} |
16 : marker_list_(new SpellCheckMarkerListImpl()) {} | |
17 | 20 |
18 DocumentMarker* CreateMarker(unsigned start_offset, unsigned end_offset) { | 21 DocumentMarker* CreateMarker(unsigned start_offset, unsigned end_offset) { |
19 return new DocumentMarker(DocumentMarker::kSpelling, start_offset, | 22 return new DocumentMarker(DocumentMarker::kSpelling, start_offset, |
20 end_offset, g_empty_string); | 23 end_offset, g_empty_string); |
21 } | 24 } |
22 | 25 |
23 Persistent<SpellCheckMarkerListImpl> marker_list_; | 26 Persistent<SpellingMarkerListImpl> marker_list_; |
24 }; | 27 }; |
25 | 28 |
26 TEST_F(SpellCheckMarkerListImplTest, AddSorting) { | 29 // Test cases for functionality implemented by SpellingMarkerListImpl. |
| 30 |
| 31 TEST_F(SpellingMarkerListImplTest, MarkerType) { |
| 32 EXPECT_EQ(DocumentMarker::kSpelling, marker_list_->MarkerType()); |
| 33 } |
| 34 |
| 35 // Test cases for functionality implemented by SpellCheckMarkerListImpl |
| 36 |
| 37 TEST_F(SpellingMarkerListImplTest, AddSorting) { |
27 // Insert some markers in an arbitrary order and verify that the list stays | 38 // Insert some markers in an arbitrary order and verify that the list stays |
28 // sorted | 39 // sorted |
29 marker_list_->Add(CreateMarker(80, 85)); | 40 marker_list_->Add(CreateMarker(80, 85)); |
30 marker_list_->Add(CreateMarker(40, 45)); | 41 marker_list_->Add(CreateMarker(40, 45)); |
31 marker_list_->Add(CreateMarker(10, 15)); | 42 marker_list_->Add(CreateMarker(10, 15)); |
32 marker_list_->Add(CreateMarker(0, 5)); | 43 marker_list_->Add(CreateMarker(0, 5)); |
33 marker_list_->Add(CreateMarker(70, 75)); | 44 marker_list_->Add(CreateMarker(70, 75)); |
34 marker_list_->Add(CreateMarker(90, 95)); | 45 marker_list_->Add(CreateMarker(90, 95)); |
35 marker_list_->Add(CreateMarker(60, 65)); | 46 marker_list_->Add(CreateMarker(60, 65)); |
36 marker_list_->Add(CreateMarker(50, 55)); | 47 marker_list_->Add(CreateMarker(50, 55)); |
(...skipping 26 matching lines...) Expand all Loading... |
63 EXPECT_EQ(70u, marker_list_->GetMarkers()[7]->StartOffset()); | 74 EXPECT_EQ(70u, marker_list_->GetMarkers()[7]->StartOffset()); |
64 EXPECT_EQ(75u, marker_list_->GetMarkers()[7]->EndOffset()); | 75 EXPECT_EQ(75u, marker_list_->GetMarkers()[7]->EndOffset()); |
65 | 76 |
66 EXPECT_EQ(80u, marker_list_->GetMarkers()[8]->StartOffset()); | 77 EXPECT_EQ(80u, marker_list_->GetMarkers()[8]->StartOffset()); |
67 EXPECT_EQ(85u, marker_list_->GetMarkers()[8]->EndOffset()); | 78 EXPECT_EQ(85u, marker_list_->GetMarkers()[8]->EndOffset()); |
68 | 79 |
69 EXPECT_EQ(90u, marker_list_->GetMarkers()[9]->StartOffset()); | 80 EXPECT_EQ(90u, marker_list_->GetMarkers()[9]->StartOffset()); |
70 EXPECT_EQ(95u, marker_list_->GetMarkers()[9]->EndOffset()); | 81 EXPECT_EQ(95u, marker_list_->GetMarkers()[9]->EndOffset()); |
71 } | 82 } |
72 | 83 |
73 TEST_F(SpellCheckMarkerListImplTest, AddIntoEmptyList) { | 84 TEST_F(SpellingMarkerListImplTest, AddIntoEmptyList) { |
74 marker_list_->Add(CreateMarker(5, 10)); | 85 marker_list_->Add(CreateMarker(5, 10)); |
75 | 86 |
76 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); | 87 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); |
77 | 88 |
78 EXPECT_EQ(5u, marker_list_->GetMarkers()[0]->StartOffset()); | 89 EXPECT_EQ(5u, marker_list_->GetMarkers()[0]->StartOffset()); |
79 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); | 90 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); |
80 } | 91 } |
81 | 92 |
82 TEST_F(SpellCheckMarkerListImplTest, AddMarkerNonMerging) { | 93 TEST_F(SpellingMarkerListImplTest, AddMarkerNonMerging) { |
83 marker_list_->Add(CreateMarker(5, 10)); | 94 marker_list_->Add(CreateMarker(5, 10)); |
84 marker_list_->Add(CreateMarker(15, 20)); | 95 marker_list_->Add(CreateMarker(15, 20)); |
85 | 96 |
86 EXPECT_EQ(2u, marker_list_->GetMarkers().size()); | 97 EXPECT_EQ(2u, marker_list_->GetMarkers().size()); |
87 | 98 |
88 EXPECT_EQ(5u, marker_list_->GetMarkers()[0]->StartOffset()); | 99 EXPECT_EQ(5u, marker_list_->GetMarkers()[0]->StartOffset()); |
89 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); | 100 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); |
90 | 101 |
91 EXPECT_EQ(15u, marker_list_->GetMarkers()[1]->StartOffset()); | 102 EXPECT_EQ(15u, marker_list_->GetMarkers()[1]->StartOffset()); |
92 EXPECT_EQ(20u, marker_list_->GetMarkers()[1]->EndOffset()); | 103 EXPECT_EQ(20u, marker_list_->GetMarkers()[1]->EndOffset()); |
93 } | 104 } |
94 | 105 |
95 TEST_F(SpellCheckMarkerListImplTest, AddMarkerMergingLater) { | 106 TEST_F(SpellingMarkerListImplTest, AddMarkerMergingLater) { |
96 marker_list_->Add(CreateMarker(5, 10)); | 107 marker_list_->Add(CreateMarker(5, 10)); |
97 marker_list_->Add(CreateMarker(0, 5)); | 108 marker_list_->Add(CreateMarker(0, 5)); |
98 | 109 |
99 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); | 110 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); |
100 | 111 |
101 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); | 112 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); |
102 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); | 113 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); |
103 } | 114 } |
104 | 115 |
105 TEST_F(SpellCheckMarkerListImplTest, AddMarkerMergingEarlier) { | 116 TEST_F(SpellingMarkerListImplTest, AddMarkerMergingEarlier) { |
106 marker_list_->Add(CreateMarker(0, 5)); | 117 marker_list_->Add(CreateMarker(0, 5)); |
107 marker_list_->Add(CreateMarker(5, 10)); | 118 marker_list_->Add(CreateMarker(5, 10)); |
108 | 119 |
109 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); | 120 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); |
110 | 121 |
111 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); | 122 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); |
112 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); | 123 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset()); |
113 } | 124 } |
114 | 125 |
115 TEST_F(SpellCheckMarkerListImplTest, AddMarkerMergingEarlierAndLater) { | 126 TEST_F(SpellingMarkerListImplTest, AddMarkerMergingEarlierAndLater) { |
116 marker_list_->Add(CreateMarker(0, 5)); | 127 marker_list_->Add(CreateMarker(0, 5)); |
117 marker_list_->Add(CreateMarker(10, 15)); | 128 marker_list_->Add(CreateMarker(10, 15)); |
118 marker_list_->Add(CreateMarker(5, 10)); | 129 marker_list_->Add(CreateMarker(5, 10)); |
119 | 130 |
120 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); | 131 EXPECT_EQ(1u, marker_list_->GetMarkers().size()); |
121 | 132 |
122 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); | 133 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); |
123 EXPECT_EQ(15u, marker_list_->GetMarkers()[0]->EndOffset()); | 134 EXPECT_EQ(15u, marker_list_->GetMarkers()[0]->EndOffset()); |
124 } | 135 } |
125 | 136 |
126 TEST_F(SpellCheckMarkerListImplTest, RemoveMarkersUnderWords) { | 137 TEST_F(SpellingMarkerListImplTest, RemoveMarkersUnderWords) { |
127 // wor | 138 // wor |
128 marker_list_->Add(CreateMarker(0, 3)); | 139 marker_list_->Add(CreateMarker(0, 3)); |
129 | 140 |
130 // word | 141 // word |
131 marker_list_->Add(CreateMarker(4, 8)); | 142 marker_list_->Add(CreateMarker(4, 8)); |
132 | 143 |
133 // words | 144 // words |
134 marker_list_->Add(CreateMarker(9, 14)); | 145 marker_list_->Add(CreateMarker(9, 14)); |
135 | 146 |
136 // word2 | 147 // word2 |
137 marker_list_->Add(CreateMarker(15, 20)); | 148 marker_list_->Add(CreateMarker(15, 20)); |
138 | 149 |
139 marker_list_->RemoveMarkersUnderWords("wor word words word2", | 150 marker_list_->RemoveMarkersUnderWords("wor word words word2", |
140 {"word", "word2"}); | 151 {"word", "word2"}); |
141 EXPECT_EQ(2u, marker_list_->GetMarkers().size()); | 152 EXPECT_EQ(2u, marker_list_->GetMarkers().size()); |
142 | 153 |
143 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); | 154 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset()); |
144 EXPECT_EQ(3u, marker_list_->GetMarkers()[0]->EndOffset()); | 155 EXPECT_EQ(3u, marker_list_->GetMarkers()[0]->EndOffset()); |
145 | 156 |
146 EXPECT_EQ(9u, marker_list_->GetMarkers()[1]->StartOffset()); | 157 EXPECT_EQ(9u, marker_list_->GetMarkers()[1]->StartOffset()); |
147 EXPECT_EQ(14u, marker_list_->GetMarkers()[1]->EndOffset()); | 158 EXPECT_EQ(14u, marker_list_->GetMarkers()[1]->EndOffset()); |
148 } | 159 } |
149 | 160 |
150 } // namespace | 161 } // namespace |
OLD | NEW |