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

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

Issue 2868413002: [DMC #5.55] Add DocumentMarkerList::MarkerType() (Closed)
Patch Set: Fix mistake in comment Created 3 years, 7 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "core/editing/markers/SpellCheckMarkerListImpl.h"
6
7 #include "core/editing/markers/RenderedDocumentMarker.h"
8 #include "platform/heap/Handle.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace blink {
12
13 class SpellCheckMarkerListImplTest : public ::testing::Test {
14 protected:
15 SpellCheckMarkerListImplTest()
16 : marker_list_(new SpellCheckMarkerListImpl()) {}
17
18 DocumentMarker* CreateMarker(unsigned start_offset, unsigned end_offset) {
19 return new DocumentMarker(DocumentMarker::kSpelling, start_offset,
20 end_offset, g_empty_string);
21 }
22
23 Persistent<SpellCheckMarkerListImpl> marker_list_;
24 };
25
26 TEST_F(SpellCheckMarkerListImplTest, AddSorting) {
27 // Insert some markers in an arbitrary order and verify that the list stays
28 // sorted
29 marker_list_->Add(CreateMarker(80, 85));
30 marker_list_->Add(CreateMarker(40, 45));
31 marker_list_->Add(CreateMarker(10, 15));
32 marker_list_->Add(CreateMarker(0, 5));
33 marker_list_->Add(CreateMarker(70, 75));
34 marker_list_->Add(CreateMarker(90, 95));
35 marker_list_->Add(CreateMarker(60, 65));
36 marker_list_->Add(CreateMarker(50, 55));
37 marker_list_->Add(CreateMarker(30, 35));
38 marker_list_->Add(CreateMarker(20, 25));
39
40 EXPECT_EQ(10u, marker_list_->GetMarkers().size());
41
42 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset());
43 EXPECT_EQ(5u, marker_list_->GetMarkers()[0]->EndOffset());
44
45 EXPECT_EQ(10u, marker_list_->GetMarkers()[1]->StartOffset());
46 EXPECT_EQ(15u, marker_list_->GetMarkers()[1]->EndOffset());
47
48 EXPECT_EQ(20u, marker_list_->GetMarkers()[2]->StartOffset());
49 EXPECT_EQ(25u, marker_list_->GetMarkers()[2]->EndOffset());
50
51 EXPECT_EQ(30u, marker_list_->GetMarkers()[3]->StartOffset());
52 EXPECT_EQ(35u, marker_list_->GetMarkers()[3]->EndOffset());
53
54 EXPECT_EQ(40u, marker_list_->GetMarkers()[4]->StartOffset());
55 EXPECT_EQ(45u, marker_list_->GetMarkers()[4]->EndOffset());
56
57 EXPECT_EQ(50u, marker_list_->GetMarkers()[5]->StartOffset());
58 EXPECT_EQ(55u, marker_list_->GetMarkers()[5]->EndOffset());
59
60 EXPECT_EQ(60u, marker_list_->GetMarkers()[6]->StartOffset());
61 EXPECT_EQ(65u, marker_list_->GetMarkers()[6]->EndOffset());
62
63 EXPECT_EQ(70u, marker_list_->GetMarkers()[7]->StartOffset());
64 EXPECT_EQ(75u, marker_list_->GetMarkers()[7]->EndOffset());
65
66 EXPECT_EQ(80u, marker_list_->GetMarkers()[8]->StartOffset());
67 EXPECT_EQ(85u, marker_list_->GetMarkers()[8]->EndOffset());
68
69 EXPECT_EQ(90u, marker_list_->GetMarkers()[9]->StartOffset());
70 EXPECT_EQ(95u, marker_list_->GetMarkers()[9]->EndOffset());
71 }
72
73 TEST_F(SpellCheckMarkerListImplTest, AddIntoEmptyList) {
74 marker_list_->Add(CreateMarker(5, 10));
75
76 EXPECT_EQ(1u, marker_list_->GetMarkers().size());
77
78 EXPECT_EQ(5u, marker_list_->GetMarkers()[0]->StartOffset());
79 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset());
80 }
81
82 TEST_F(SpellCheckMarkerListImplTest, AddMarkerNonMerging) {
83 marker_list_->Add(CreateMarker(5, 10));
84 marker_list_->Add(CreateMarker(15, 20));
85
86 EXPECT_EQ(2u, marker_list_->GetMarkers().size());
87
88 EXPECT_EQ(5u, marker_list_->GetMarkers()[0]->StartOffset());
89 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset());
90
91 EXPECT_EQ(15u, marker_list_->GetMarkers()[1]->StartOffset());
92 EXPECT_EQ(20u, marker_list_->GetMarkers()[1]->EndOffset());
93 }
94
95 TEST_F(SpellCheckMarkerListImplTest, AddMarkerMergingLater) {
96 marker_list_->Add(CreateMarker(5, 10));
97 marker_list_->Add(CreateMarker(0, 5));
98
99 EXPECT_EQ(1u, marker_list_->GetMarkers().size());
100
101 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset());
102 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset());
103 }
104
105 TEST_F(SpellCheckMarkerListImplTest, AddMarkerMergingEarlier) {
106 marker_list_->Add(CreateMarker(0, 5));
107 marker_list_->Add(CreateMarker(5, 10));
108
109 EXPECT_EQ(1u, marker_list_->GetMarkers().size());
110
111 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset());
112 EXPECT_EQ(10u, marker_list_->GetMarkers()[0]->EndOffset());
113 }
114
115 TEST_F(SpellCheckMarkerListImplTest, AddMarkerMergingEarlierAndLater) {
116 marker_list_->Add(CreateMarker(0, 5));
117 marker_list_->Add(CreateMarker(10, 15));
118 marker_list_->Add(CreateMarker(5, 10));
119
120 EXPECT_EQ(1u, marker_list_->GetMarkers().size());
121
122 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset());
123 EXPECT_EQ(15u, marker_list_->GetMarkers()[0]->EndOffset());
124 }
125
126 TEST_F(SpellCheckMarkerListImplTest, RemoveMarkersUnderWords) {
127 // wor
128 marker_list_->Add(CreateMarker(0, 3));
129
130 // word
131 marker_list_->Add(CreateMarker(4, 8));
132
133 // words
134 marker_list_->Add(CreateMarker(9, 14));
135
136 // word2
137 marker_list_->Add(CreateMarker(15, 20));
138
139 marker_list_->RemoveMarkersUnderWords("wor word words word2",
140 {"word", "word2"});
141 EXPECT_EQ(2u, marker_list_->GetMarkers().size());
142
143 EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset());
144 EXPECT_EQ(3u, marker_list_->GetMarkers()[0]->EndOffset());
145
146 EXPECT_EQ(9u, marker_list_->GetMarkers()[1]->StartOffset());
147 EXPECT_EQ(14u, marker_list_->GetMarkers()[1]->EndOffset());
148 }
149
150 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698