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

Side by Side Diff: ui/views/border_unittest.cc

Issue 2480813003: Reduce views::Border creation verbosity by promoting factory functions (Closed)
Patch Set: fix bad merge Created 4 years, 1 month 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
« no previous file with comments | « ui/views/border.cc ('k') | ui/views/bubble/bubble_frame_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "ui/views/border.h" 5 #include "ui/views/border.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 view_.reset(); 143 view_.reset();
144 } 144 }
145 145
146 protected: 146 protected:
147 std::unique_ptr<views::View> view_; 147 std::unique_ptr<views::View> view_;
148 sk_sp<MockCanvas> sk_canvas_; 148 sk_sp<MockCanvas> sk_canvas_;
149 std::unique_ptr<gfx::Canvas> canvas_; 149 std::unique_ptr<gfx::Canvas> canvas_;
150 }; 150 };
151 151
152 TEST_F(BorderTest, NullBorder) { 152 TEST_F(BorderTest, NullBorder) {
153 std::unique_ptr<Border> border(Border::NullBorder()); 153 std::unique_ptr<Border> border(NullBorder());
154 EXPECT_FALSE(border); 154 EXPECT_FALSE(border);
155 } 155 }
156 156
157 TEST_F(BorderTest, SolidBorder) { 157 TEST_F(BorderTest, SolidBorder) {
158 std::unique_ptr<Border> border(Border::CreateSolidBorder(3, SK_ColorBLUE)); 158 std::unique_ptr<Border> border(CreateSolidBorder(3, SK_ColorBLUE));
159 EXPECT_EQ(gfx::Size(6, 6), border->GetMinimumSize()); 159 EXPECT_EQ(gfx::Size(6, 6), border->GetMinimumSize());
160 EXPECT_EQ(gfx::Insets(3, 3, 3, 3), border->GetInsets()); 160 EXPECT_EQ(gfx::Insets(3, 3, 3, 3), border->GetInsets());
161 border->Paint(*view_, canvas_.get()); 161 border->Paint(*view_, canvas_.get());
162 162
163 std::vector<MockCanvas::DrawRectCall> draw_rect_calls = 163 std::vector<MockCanvas::DrawRectCall> draw_rect_calls =
164 sk_canvas_->draw_rect_calls(); 164 sk_canvas_->draw_rect_calls();
165 ASSERT_EQ(4u, draw_rect_calls.size()); 165 ASSERT_EQ(4u, draw_rect_calls.size());
166 EXPECT_EQ(SkRect::MakeLTRB(0, 0, 100, 3), draw_rect_calls[0].rect); 166 EXPECT_EQ(SkRect::MakeLTRB(0, 0, 100, 3), draw_rect_calls[0].rect);
167 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[0].paint.getColor()); 167 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[0].paint.getColor());
168 EXPECT_EQ(SkRect::MakeLTRB(0, 3, 3, 47), draw_rect_calls[1].rect); 168 EXPECT_EQ(SkRect::MakeLTRB(0, 3, 3, 47), draw_rect_calls[1].rect);
169 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[1].paint.getColor()); 169 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[1].paint.getColor());
170 EXPECT_EQ(SkRect::MakeLTRB(0, 47, 100, 50), draw_rect_calls[2].rect); 170 EXPECT_EQ(SkRect::MakeLTRB(0, 47, 100, 50), draw_rect_calls[2].rect);
171 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[2].paint.getColor()); 171 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[2].paint.getColor());
172 EXPECT_EQ(SkRect::MakeLTRB(97, 3, 100, 47), draw_rect_calls[3].rect); 172 EXPECT_EQ(SkRect::MakeLTRB(97, 3, 100, 47), draw_rect_calls[3].rect);
173 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[3].paint.getColor()); 173 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[3].paint.getColor());
174 174
175 EXPECT_TRUE(sk_canvas_->draw_rrect_calls().empty()); 175 EXPECT_TRUE(sk_canvas_->draw_rrect_calls().empty());
176 } 176 }
177 177
178 TEST_F(BorderTest, RoundedRectBorder) { 178 TEST_F(BorderTest, RoundedRectBorder) {
179 std::unique_ptr<Border> border( 179 std::unique_ptr<Border> border(CreateRoundedRectBorder(3, 4, SK_ColorBLUE));
180 Border::CreateRoundedRectBorder(3, 4, SK_ColorBLUE));
181 EXPECT_EQ(gfx::Size(6, 6), border->GetMinimumSize()); 180 EXPECT_EQ(gfx::Size(6, 6), border->GetMinimumSize());
182 EXPECT_EQ(gfx::Insets(3, 3, 3, 3), border->GetInsets()); 181 EXPECT_EQ(gfx::Insets(3, 3, 3, 3), border->GetInsets());
183 border->Paint(*view_, canvas_.get()); 182 border->Paint(*view_, canvas_.get());
184 183
185 SkRRect expected_rrect; 184 SkRRect expected_rrect;
186 expected_rrect.setRectXY(SkRect::MakeLTRB(1.5, 1.5, 98.5, 48.5), 4, 4); 185 expected_rrect.setRectXY(SkRect::MakeLTRB(1.5, 1.5, 98.5, 48.5), 4, 4);
187 EXPECT_TRUE(sk_canvas_->draw_rect_calls().empty()); 186 EXPECT_TRUE(sk_canvas_->draw_rect_calls().empty());
188 std::vector<MockCanvas::DrawRRectCall> draw_rrect_calls = 187 std::vector<MockCanvas::DrawRRectCall> draw_rrect_calls =
189 sk_canvas_->draw_rrect_calls(); 188 sk_canvas_->draw_rrect_calls();
190 ASSERT_EQ(1u, draw_rrect_calls.size()); 189 ASSERT_EQ(1u, draw_rrect_calls.size());
191 EXPECT_EQ(expected_rrect, draw_rrect_calls[0].rrect); 190 EXPECT_EQ(expected_rrect, draw_rrect_calls[0].rrect);
192 EXPECT_EQ(3, draw_rrect_calls[0].paint.getStrokeWidth()); 191 EXPECT_EQ(3, draw_rrect_calls[0].paint.getStrokeWidth());
193 EXPECT_EQ(SK_ColorBLUE, draw_rrect_calls[0].paint.getColor()); 192 EXPECT_EQ(SK_ColorBLUE, draw_rrect_calls[0].paint.getColor());
194 EXPECT_EQ(SkPaint::kStroke_Style, draw_rrect_calls[0].paint.getStyle()); 193 EXPECT_EQ(SkPaint::kStroke_Style, draw_rrect_calls[0].paint.getStyle());
195 EXPECT_TRUE(draw_rrect_calls[0].paint.isAntiAlias()); 194 EXPECT_TRUE(draw_rrect_calls[0].paint.isAntiAlias());
196 } 195 }
197 196
198 TEST_F(BorderTest, EmptyBorder) { 197 TEST_F(BorderTest, EmptyBorder) {
199 const gfx::Insets kInsets(1, 2, 3, 4); 198 const gfx::Insets kInsets(1, 2, 3, 4);
200 199
201 std::unique_ptr<Border> border(Border::CreateEmptyBorder( 200 std::unique_ptr<Border> border(CreateEmptyBorder(
202 kInsets.top(), kInsets.left(), kInsets.bottom(), kInsets.right())); 201 kInsets.top(), kInsets.left(), kInsets.bottom(), kInsets.right()));
203 // The EmptyBorder has no minimum size despite nonzero insets. 202 // The EmptyBorder has no minimum size despite nonzero insets.
204 EXPECT_EQ(gfx::Size(), border->GetMinimumSize()); 203 EXPECT_EQ(gfx::Size(), border->GetMinimumSize());
205 EXPECT_EQ(kInsets, border->GetInsets()); 204 EXPECT_EQ(kInsets, border->GetInsets());
206 // Should have no effect. 205 // Should have no effect.
207 border->Paint(*view_, canvas_.get()); 206 border->Paint(*view_, canvas_.get());
208 207
209 std::unique_ptr<Border> border2(Border::CreateEmptyBorder(kInsets)); 208 std::unique_ptr<Border> border2(CreateEmptyBorder(kInsets));
210 EXPECT_EQ(kInsets, border2->GetInsets()); 209 EXPECT_EQ(kInsets, border2->GetInsets());
211 } 210 }
212 211
213 TEST_F(BorderTest, SolidSidedBorder) { 212 TEST_F(BorderTest, SolidSidedBorder) {
214 const gfx::Insets kInsets(1, 2, 3, 4); 213 const gfx::Insets kInsets(1, 2, 3, 4);
215 214
216 std::unique_ptr<Border> border(Border::CreateSolidSidedBorder( 215 std::unique_ptr<Border> border(
217 kInsets.top(), kInsets.left(), kInsets.bottom(), kInsets.right(), 216 CreateSolidSidedBorder(kInsets.top(), kInsets.left(), kInsets.bottom(),
218 SK_ColorBLUE)); 217 kInsets.right(), SK_ColorBLUE));
219 EXPECT_EQ(gfx::Size(6, 4), border->GetMinimumSize()); 218 EXPECT_EQ(gfx::Size(6, 4), border->GetMinimumSize());
220 EXPECT_EQ(kInsets, border->GetInsets()); 219 EXPECT_EQ(kInsets, border->GetInsets());
221 border->Paint(*view_, canvas_.get()); 220 border->Paint(*view_, canvas_.get());
222 221
223 std::vector<MockCanvas::DrawRectCall> draw_rect_calls = 222 std::vector<MockCanvas::DrawRectCall> draw_rect_calls =
224 sk_canvas_->draw_rect_calls(); 223 sk_canvas_->draw_rect_calls();
225 ASSERT_EQ(4u, draw_rect_calls.size()); 224 ASSERT_EQ(4u, draw_rect_calls.size());
226 EXPECT_EQ(SkRect::MakeLTRB(0, 0, 100, 1), draw_rect_calls[0].rect); 225 EXPECT_EQ(SkRect::MakeLTRB(0, 0, 100, 1), draw_rect_calls[0].rect);
227 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[0].paint.getColor()); 226 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[0].paint.getColor());
228 EXPECT_EQ(SkRect::MakeLTRB(0, 1, 2, 47), draw_rect_calls[1].rect); 227 EXPECT_EQ(SkRect::MakeLTRB(0, 1, 2, 47), draw_rect_calls[1].rect);
229 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[1].paint.getColor()); 228 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[1].paint.getColor());
230 EXPECT_EQ(SkRect::MakeLTRB(0, 47, 100, 50), draw_rect_calls[2].rect); 229 EXPECT_EQ(SkRect::MakeLTRB(0, 47, 100, 50), draw_rect_calls[2].rect);
231 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[2].paint.getColor()); 230 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[2].paint.getColor());
232 EXPECT_EQ(SkRect::MakeLTRB(96, 1, 100, 47), draw_rect_calls[3].rect); 231 EXPECT_EQ(SkRect::MakeLTRB(96, 1, 100, 47), draw_rect_calls[3].rect);
233 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[3].paint.getColor()); 232 EXPECT_EQ(SK_ColorBLUE, draw_rect_calls[3].paint.getColor());
234 233
235 EXPECT_TRUE(sk_canvas_->draw_rrect_calls().empty()); 234 EXPECT_TRUE(sk_canvas_->draw_rrect_calls().empty());
236 } 235 }
237 236
238 TEST_F(BorderTest, BorderPainter) { 237 TEST_F(BorderTest, BorderPainter) {
239 const gfx::Insets kInsets(1, 2, 3, 4); 238 const gfx::Insets kInsets(1, 2, 3, 4);
240 239
241 std::unique_ptr<MockPainter> painter(new MockPainter()); 240 std::unique_ptr<MockPainter> painter(new MockPainter());
242 MockPainter* painter_ptr = painter.get(); 241 MockPainter* painter_ptr = painter.get();
243 std::unique_ptr<Border> border( 242 std::unique_ptr<Border> border(
244 Border::CreateBorderPainter(std::move(painter), kInsets)); 243 CreateBorderPainter(std::move(painter), kInsets));
245 EXPECT_EQ(gfx::Size(60, 40), border->GetMinimumSize()); 244 EXPECT_EQ(gfx::Size(60, 40), border->GetMinimumSize());
246 EXPECT_EQ(kInsets, border->GetInsets()); 245 EXPECT_EQ(kInsets, border->GetInsets());
247 246
248 border->Paint(*view_, canvas_.get()); 247 border->Paint(*view_, canvas_.get());
249 248
250 // Expect that the Painter was called with our canvas and the view's size. 249 // Expect that the Painter was called with our canvas and the view's size.
251 EXPECT_EQ(canvas_.get(), painter_ptr->given_canvas()); 250 EXPECT_EQ(canvas_.get(), painter_ptr->given_canvas());
252 EXPECT_EQ(view_->size(), painter_ptr->given_size()); 251 EXPECT_EQ(view_->size(), painter_ptr->given_size());
253 } 252 }
254 253
255 } // namespace views 254 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/border.cc ('k') | ui/views/bubble/bubble_frame_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698