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: cc/quads/list_container_unittest.cc

Issue 683113005: Update from chromium https://crrev.com/302282 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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 | « cc/quads/list_container.cc ('k') | cc/quads/render_pass.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "cc/quads/list_container.h" 5 #include "cc/quads/list_container.h"
6 6
7 #include <vector> 7 #include <vector>
8 #include "cc/quads/draw_quad.h" 8 #include "cc/quads/draw_quad.h"
9 #include "cc/quads/largest_draw_quad.h" 9 #include "cc/quads/largest_draw_quad.h"
10 #include "cc/quads/render_pass_draw_quad.h" 10 #include "cc/quads/render_pass_draw_quad.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 for (size_t i = 0; i < size; ++i) { 223 for (size_t i = 0; i < size; ++i) {
224 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>()); 224 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>());
225 } 225 }
226 EXPECT_EQ(size, list.size()); 226 EXPECT_EQ(size, list.size());
227 227
228 ListContainer<SharedQuadState>::Iterator iter = list.begin(); 228 ListContainer<SharedQuadState>::Iterator iter = list.begin();
229 for (std::vector<SharedQuadState*>::const_iterator sqs_iter = 229 for (std::vector<SharedQuadState*>::const_iterator sqs_iter =
230 sqs_list.begin(); 230 sqs_list.begin();
231 sqs_iter != sqs_list.end(); 231 sqs_iter != sqs_list.end();
232 ++sqs_iter) { 232 ++sqs_iter) {
233 EXPECT_EQ(*sqs_iter, &*iter); 233 EXPECT_EQ(*sqs_iter, *iter);
234 ++iter; 234 ++iter;
235 } 235 }
236 } 236 }
237 237
238 TEST(ListContainerTest, 238 TEST(ListContainerTest,
239 CorrectAllocationSizeForMoreThanOneAllocationSharedQuadState) { 239 CorrectAllocationSizeForMoreThanOneAllocationSharedQuadState) {
240 // Constructor sets the allocation size to 2. Every time ListContainer needs 240 // Constructor sets the allocation size to 2. Every time ListContainer needs
241 // to allocate again, it doubles allocation size. In this test, 10 elements is 241 // to allocate again, it doubles allocation size. In this test, 10 elements is
242 // needed, thus ListContainerShould allocate spaces 2, 4 and 8 elements. 242 // needed, thus ListContainerShould allocate spaces 2, 4 and 8 elements.
243 ListContainer<SharedQuadState> list(sizeof(SharedQuadState), 2); 243 ListContainer<SharedQuadState> list(sizeof(SharedQuadState), 2);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 break; 308 break;
309 } 309 }
310 } 310 }
311 EXPECT_EQ(size, list.size()); 311 EXPECT_EQ(size, list.size());
312 312
313 ListContainer<SharedQuadState>::Iterator iter = list.begin(); 313 ListContainer<SharedQuadState>::Iterator iter = list.begin();
314 for (std::vector<SharedQuadState*>::const_iterator sqs_iter = 314 for (std::vector<SharedQuadState*>::const_iterator sqs_iter =
315 sqs_list.begin(); 315 sqs_list.begin();
316 sqs_iter != sqs_list.end(); 316 sqs_iter != sqs_list.end();
317 ++sqs_iter) { 317 ++sqs_iter) {
318 EXPECT_EQ(*sqs_iter, &*iter); 318 EXPECT_EQ(*sqs_iter, *iter);
319 ++iter; 319 ++iter;
320 } 320 }
321 } 321 }
322 322
323 TEST(ListContainerTest, SimpleIterationSharedQuadState) { 323 TEST(ListContainerTest, SimpleIterationSharedQuadState) {
324 ListContainer<SharedQuadState> list; 324 ListContainer<SharedQuadState> list;
325 std::vector<SharedQuadState*> sqs_list; 325 std::vector<SharedQuadState*> sqs_list;
326 size_t size = 10; 326 size_t size = 10;
327 for (size_t i = 0; i < size; ++i) { 327 for (size_t i = 0; i < size; ++i) {
328 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>()); 328 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>());
329 } 329 }
330 EXPECT_EQ(size, list.size()); 330 EXPECT_EQ(size, list.size());
331 331
332 size_t num_iters_in_list = 0; 332 size_t num_iters_in_list = 0;
333 { 333 {
334 std::vector<SharedQuadState*>::const_iterator sqs_iter = sqs_list.begin(); 334 std::vector<SharedQuadState*>::const_iterator sqs_iter = sqs_list.begin();
335 for (ListContainer<SharedQuadState>::Iterator iter = list.begin(); 335 for (ListContainer<SharedQuadState>::Iterator iter = list.begin();
336 iter != list.end(); 336 iter != list.end();
337 ++iter) { 337 ++iter) {
338 EXPECT_EQ(*sqs_iter, &*iter); 338 EXPECT_EQ(*sqs_iter, *iter);
339 ++num_iters_in_list; 339 ++num_iters_in_list;
340 ++sqs_iter; 340 ++sqs_iter;
341 } 341 }
342 } 342 }
343 343
344 size_t num_iters_in_vector = 0; 344 size_t num_iters_in_vector = 0;
345 { 345 {
346 ListContainer<SharedQuadState>::Iterator iter = list.begin(); 346 ListContainer<SharedQuadState>::Iterator iter = list.begin();
347 for (std::vector<SharedQuadState*>::const_iterator sqs_iter = 347 for (std::vector<SharedQuadState*>::const_iterator sqs_iter =
348 sqs_list.begin(); 348 sqs_list.begin();
349 sqs_iter != sqs_list.end(); 349 sqs_iter != sqs_list.end();
350 ++sqs_iter) { 350 ++sqs_iter) {
351 EXPECT_EQ(*sqs_iter, &*iter); 351 EXPECT_EQ(*sqs_iter, *iter);
352 ++num_iters_in_vector; 352 ++num_iters_in_vector;
353 ++iter; 353 ++iter;
354 } 354 }
355 } 355 }
356 356
357 EXPECT_EQ(num_iters_in_vector, num_iters_in_list); 357 EXPECT_EQ(num_iters_in_vector, num_iters_in_list);
358 } 358 }
359 359
360 TEST(ListContainerTest, SimpleConstIteratorIterationSharedQuadState) { 360 TEST(ListContainerTest, SimpleConstIteratorIterationSharedQuadState) {
361 ListContainer<SharedQuadState> list; 361 ListContainer<SharedQuadState> list;
362 std::vector<const SharedQuadState*> sqs_list; 362 std::vector<const SharedQuadState*> sqs_list;
363 size_t size = 10; 363 size_t size = 10;
364 for (size_t i = 0; i < size; ++i) { 364 for (size_t i = 0; i < size; ++i) {
365 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>()); 365 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>());
366 } 366 }
367 EXPECT_EQ(size, list.size()); 367 EXPECT_EQ(size, list.size());
368 368
369 { 369 {
370 std::vector<const SharedQuadState*>::const_iterator sqs_iter = 370 std::vector<const SharedQuadState*>::const_iterator sqs_iter =
371 sqs_list.begin(); 371 sqs_list.begin();
372 for (ListContainer<SharedQuadState>::ConstIterator iter = list.begin(); 372 for (ListContainer<SharedQuadState>::ConstIterator iter = list.begin();
373 iter != list.end(); 373 iter != list.end();
374 ++iter) { 374 ++iter) {
375 EXPECT_TRUE(isConstSharedQuadStatePointer(&*iter)); 375 EXPECT_TRUE(isConstSharedQuadStatePointer(*iter));
376 EXPECT_EQ(*sqs_iter, &*iter); 376 EXPECT_EQ(*sqs_iter, *iter);
377 ++sqs_iter; 377 ++sqs_iter;
378 } 378 }
379 } 379 }
380 380
381 { 381 {
382 std::vector<const SharedQuadState*>::const_iterator sqs_iter = 382 std::vector<const SharedQuadState*>::const_iterator sqs_iter =
383 sqs_list.begin(); 383 sqs_list.begin();
384 for (ListContainer<SharedQuadState>::Iterator iter = list.begin(); 384 for (ListContainer<SharedQuadState>::Iterator iter = list.begin();
385 iter != list.end(); 385 iter != list.end();
386 ++iter) { 386 ++iter) {
387 EXPECT_FALSE(isConstSharedQuadStatePointer(&*iter)); 387 EXPECT_FALSE(isConstSharedQuadStatePointer(*iter));
388 EXPECT_EQ(*sqs_iter, &*iter); 388 EXPECT_EQ(*sqs_iter, *iter);
389 ++sqs_iter; 389 ++sqs_iter;
390 } 390 }
391 } 391 }
392 392
393 { 393 {
394 ListContainer<SharedQuadState>::ConstIterator iter = list.begin(); 394 ListContainer<SharedQuadState>::ConstIterator iter = list.begin();
395 for (std::vector<const SharedQuadState*>::const_iterator sqs_iter = 395 for (std::vector<const SharedQuadState*>::const_iterator sqs_iter =
396 sqs_list.begin(); 396 sqs_list.begin();
397 sqs_iter != sqs_list.end(); 397 sqs_iter != sqs_list.end();
398 ++sqs_iter) { 398 ++sqs_iter) {
399 EXPECT_EQ(*sqs_iter, &*iter); 399 EXPECT_EQ(*sqs_iter, *iter);
400 ++iter; 400 ++iter;
401 } 401 }
402 } 402 }
403 } 403 }
404 404
405 TEST(ListContainerTest, SimpleReverseInsertionSharedQuadState) { 405 TEST(ListContainerTest, SimpleReverseInsertionSharedQuadState) {
406 ListContainer<SharedQuadState> list; 406 ListContainer<SharedQuadState> list;
407 std::vector<SharedQuadState*> sqs_list; 407 std::vector<SharedQuadState*> sqs_list;
408 size_t size = 10; 408 size_t size = 10;
409 for (size_t i = 0; i < size; ++i) { 409 for (size_t i = 0; i < size; ++i) {
410 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>()); 410 sqs_list.push_back(list.AllocateAndConstruct<SharedQuadState>());
411 } 411 }
412 EXPECT_EQ(size, list.size()); 412 EXPECT_EQ(size, list.size());
413 413
414 { 414 {
415 std::vector<SharedQuadState*>::const_reverse_iterator sqs_iter = 415 std::vector<SharedQuadState*>::const_reverse_iterator sqs_iter =
416 sqs_list.rbegin(); 416 sqs_list.rbegin();
417 for (ListContainer<SharedQuadState>::ReverseIterator iter = list.rbegin(); 417 for (ListContainer<SharedQuadState>::ReverseIterator iter = list.rbegin();
418 iter != list.rend(); 418 iter != list.rend();
419 ++iter) { 419 ++iter) {
420 EXPECT_EQ(*sqs_iter, &(*iter)); 420 EXPECT_EQ(*sqs_iter, *iter);
421 ++sqs_iter; 421 ++sqs_iter;
422 } 422 }
423 } 423 }
424 424
425 { 425 {
426 ListContainer<SharedQuadState>::ReverseIterator iter = list.rbegin(); 426 ListContainer<SharedQuadState>::ReverseIterator iter = list.rbegin();
427 for (std::vector<SharedQuadState*>::reverse_iterator sqs_iter = 427 for (std::vector<SharedQuadState*>::reverse_iterator sqs_iter =
428 sqs_list.rbegin(); 428 sqs_list.rbegin();
429 sqs_iter != sqs_list.rend(); 429 sqs_iter != sqs_list.rend();
430 ++sqs_iter) { 430 ++sqs_iter) {
431 EXPECT_EQ(*sqs_iter, &(*iter)); 431 EXPECT_EQ(*sqs_iter, *iter);
432 ++iter; 432 ++iter;
433 } 433 }
434 } 434 }
435 } 435 }
436 436
437 TEST(ListContainerTest, SimpleDeletion) { 437 TEST(ListContainerTest, SimpleDeletion) {
438 ListContainer<DrawQuad> list(sizeof(kLargestDrawQuad)); 438 ListContainer<DrawQuad> list(sizeof(kLargestDrawQuad));
439 std::vector<SimpleDrawQuad*> sdq_list; 439 std::vector<SimpleDrawQuad*> sdq_list;
440 size_t size = 10; 440 size_t size = 10;
441 for (size_t i = 0; i < size; ++i) { 441 for (size_t i = 0; i < size; ++i) {
442 sdq_list.push_back(list.AllocateAndConstruct<SimpleDrawQuad>()); 442 sdq_list.push_back(list.AllocateAndConstruct<SimpleDrawQuad>());
443 sdq_list.back()->set_value(i); 443 sdq_list.back()->set_value(i);
444 } 444 }
445 EXPECT_EQ(size, list.size()); 445 EXPECT_EQ(size, list.size());
446 446
447 list.EraseAndInvalidateAllPointers(list.begin()); 447 list.EraseAndInvalidateAllPointers(list.begin());
448 --size; 448 --size;
449 EXPECT_EQ(size, list.size()); 449 EXPECT_EQ(size, list.size());
450 int i = 1; 450 int i = 1;
451 for (ListContainer<DrawQuad>::Iterator iter = list.begin(); 451 for (ListContainer<DrawQuad>::Iterator iter = list.begin();
452 iter != list.end(); 452 iter != list.end();
453 ++iter) { 453 ++iter) {
454 EXPECT_EQ(i, static_cast<SimpleDrawQuad*>(&*iter)->get_value()); 454 EXPECT_EQ(i, static_cast<SimpleDrawQuad*>(*iter)->get_value());
455 ++i; 455 ++i;
456 } 456 }
457 } 457 }
458 458
459 TEST(ListContainerTest, SimpleIterationAndManipulation) { 459 TEST(ListContainerTest, SimpleIterationAndManipulation) {
460 ListContainer<DrawQuad> list(sizeof(kLargestDrawQuad)); 460 ListContainer<DrawQuad> list(sizeof(kLargestDrawQuad));
461 std::vector<SimpleDrawQuad*> sdq_list; 461 std::vector<SimpleDrawQuad*> sdq_list;
462 size_t size = 10; 462 size_t size = 10;
463 for (size_t i = 0; i < size; ++i) { 463 for (size_t i = 0; i < size; ++i) {
464 SimpleDrawQuad* simple_dq = list.AllocateAndConstruct<SimpleDrawQuad>(); 464 SimpleDrawQuad* simple_dq = list.AllocateAndConstruct<SimpleDrawQuad>();
465 sdq_list.push_back(simple_dq); 465 sdq_list.push_back(simple_dq);
466 } 466 }
467 EXPECT_EQ(size, list.size()); 467 EXPECT_EQ(size, list.size());
468 468
469 ListContainer<DrawQuad>::Iterator iter = list.begin(); 469 ListContainer<DrawQuad>::Iterator iter = list.begin();
470 for (int i = 0; i < 10; ++i) { 470 for (int i = 0; i < 10; ++i) {
471 static_cast<SimpleDrawQuad*>(&*iter)->set_value(i); 471 static_cast<SimpleDrawQuad*>(*iter)->set_value(i);
472 ++iter; 472 ++iter;
473 } 473 }
474 474
475 int i = 0; 475 int i = 0;
476 for (std::vector<SimpleDrawQuad*>::const_iterator sdq_iter = sdq_list.begin(); 476 for (std::vector<SimpleDrawQuad*>::const_iterator sdq_iter = sdq_list.begin();
477 sdq_iter < sdq_list.end(); 477 sdq_iter < sdq_list.end();
478 ++sdq_iter) { 478 ++sdq_iter) {
479 EXPECT_EQ(i, (*sdq_iter)->get_value()); 479 EXPECT_EQ(i, (*sdq_iter)->get_value());
480 ++i; 480 ++i;
481 } 481 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 for (ListContainer<SharedQuadState>::ReverseIterator iter = list.rbegin(); 546 for (ListContainer<SharedQuadState>::ReverseIterator iter = list.rbegin();
547 iter != list.rend(); 547 iter != list.rend();
548 ++iter) { 548 ++iter) {
549 EXPECT_EQ(i, iter.index()); 549 EXPECT_EQ(i, iter.index());
550 ++i; 550 ++i;
551 } 551 }
552 } 552 }
553 553
554 } // namespace 554 } // namespace
555 } // namespace cc 555 } // namespace cc
OLDNEW
« no previous file with comments | « cc/quads/list_container.cc ('k') | cc/quads/render_pass.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698