| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2011 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 EXPECT_EQ(counter1, ownCounter1->get()); | 214 EXPECT_EQ(counter1, ownCounter1->get()); |
| 215 EXPECT_EQ(0u, deque.size()); | 215 EXPECT_EQ(0u, deque.size()); |
| 216 EXPECT_EQ(1, destructNumber); | 216 EXPECT_EQ(1, destructNumber); |
| 217 | 217 |
| 218 ownCounter1.reset(); | 218 ownCounter1.reset(); |
| 219 EXPECT_EQ(2, destructNumber); | 219 EXPECT_EQ(2, destructNumber); |
| 220 | 220 |
| 221 size_t count = 1025; | 221 size_t count = 1025; |
| 222 destructNumber = 0; | 222 destructNumber = 0; |
| 223 for (size_t i = 0; i < count; ++i) | 223 for (size_t i = 0; i < count; ++i) |
| 224 deque.prepend(WTF::wrapUnique(new DestructCounter(i, &destructNumber))); | 224 deque.push_front(WTF::wrapUnique(new DestructCounter(i, &destructNumber))); |
| 225 | 225 |
| 226 // Deque relocation must not destruct std::unique_ptr element. | 226 // Deque relocation must not destruct std::unique_ptr element. |
| 227 EXPECT_EQ(0, destructNumber); | 227 EXPECT_EQ(0, destructNumber); |
| 228 EXPECT_EQ(count, deque.size()); | 228 EXPECT_EQ(count, deque.size()); |
| 229 | 229 |
| 230 OwnPtrDeque copyDeque; | 230 OwnPtrDeque copyDeque; |
| 231 deque.swap(copyDeque); | 231 deque.swap(copyDeque); |
| 232 EXPECT_EQ(0, destructNumber); | 232 EXPECT_EQ(0, destructNumber); |
| 233 EXPECT_EQ(count, copyDeque.size()); | 233 EXPECT_EQ(count, copyDeque.size()); |
| 234 EXPECT_EQ(0u, deque.size()); | 234 EXPECT_EQ(0u, deque.size()); |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 testValuesMovedAndSwappedWithInlineCapacity<0>(); | 505 testValuesMovedAndSwappedWithInlineCapacity<0>(); |
| 506 testValuesMovedAndSwappedWithInlineCapacity<4>(); | 506 testValuesMovedAndSwappedWithInlineCapacity<4>(); |
| 507 testValuesMovedAndSwappedWithInlineCapacity<9>(); | 507 testValuesMovedAndSwappedWithInlineCapacity<9>(); |
| 508 } | 508 } |
| 509 | 509 |
| 510 TEST(DequeTest, UniquePtr) { | 510 TEST(DequeTest, UniquePtr) { |
| 511 using Pointer = std::unique_ptr<int>; | 511 using Pointer = std::unique_ptr<int>; |
| 512 Deque<Pointer> deque; | 512 Deque<Pointer> deque; |
| 513 deque.push_back(Pointer(new int(1))); | 513 deque.push_back(Pointer(new int(1))); |
| 514 deque.push_back(Pointer(new int(2))); | 514 deque.push_back(Pointer(new int(2))); |
| 515 deque.prepend(Pointer(new int(-1))); | 515 deque.push_front(Pointer(new int(-1))); |
| 516 deque.prepend(Pointer(new int(-2))); | 516 deque.push_front(Pointer(new int(-2))); |
| 517 ASSERT_EQ(4u, deque.size()); | 517 ASSERT_EQ(4u, deque.size()); |
| 518 EXPECT_EQ(-2, *deque[0]); | 518 EXPECT_EQ(-2, *deque[0]); |
| 519 EXPECT_EQ(-1, *deque[1]); | 519 EXPECT_EQ(-1, *deque[1]); |
| 520 EXPECT_EQ(1, *deque[2]); | 520 EXPECT_EQ(1, *deque[2]); |
| 521 EXPECT_EQ(2, *deque[3]); | 521 EXPECT_EQ(2, *deque[3]); |
| 522 | 522 |
| 523 Pointer first(deque.takeFirst()); | 523 Pointer first(deque.takeFirst()); |
| 524 EXPECT_EQ(-2, *first); | 524 EXPECT_EQ(-2, *first); |
| 525 Pointer last(deque.takeLast()); | 525 Pointer last(deque.takeLast()); |
| 526 EXPECT_EQ(2, *last); | 526 EXPECT_EQ(2, *last); |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 629 EXPECT_EQ(2u, deque.size()); | 629 EXPECT_EQ(2u, deque.size()); |
| 630 EXPECT_EQ(3, deque[0].value1); | 630 EXPECT_EQ(3, deque[0].value1); |
| 631 EXPECT_EQ(4, deque[0].value2); | 631 EXPECT_EQ(4, deque[0].value2); |
| 632 EXPECT_EQ(1, deque[1].value1); | 632 EXPECT_EQ(1, deque[1].value1); |
| 633 EXPECT_EQ(2, deque[1].value2); | 633 EXPECT_EQ(2, deque[1].value2); |
| 634 } | 634 } |
| 635 | 635 |
| 636 } // anonymous namespace | 636 } // anonymous namespace |
| 637 | 637 |
| 638 } // namespace WTF | 638 } // namespace WTF |
| OLD | NEW |