| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2012 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 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 TEST(ListHashSetTest, WithOwnPtr) { | 544 TEST(ListHashSetTest, WithOwnPtr) { |
| 545 bool deleted1 = false, deleted2 = false; | 545 bool deleted1 = false, deleted2 = false; |
| 546 | 546 |
| 547 typedef ListHashSet<std::unique_ptr<Dummy>> OwnPtrSet; | 547 typedef ListHashSet<std::unique_ptr<Dummy>> OwnPtrSet; |
| 548 OwnPtrSet set; | 548 OwnPtrSet set; |
| 549 | 549 |
| 550 Dummy* ptr1 = new Dummy(deleted1); | 550 Dummy* ptr1 = new Dummy(deleted1); |
| 551 { | 551 { |
| 552 // AddResult in a separate scope to avoid assertion hit, | 552 // AddResult in a separate scope to avoid assertion hit, |
| 553 // since we modify the container further. | 553 // since we modify the container further. |
| 554 OwnPtrSet::AddResult res1 = set.add(wrapUnique(ptr1)); | 554 OwnPtrSet::AddResult res1 = set.add(WTF::wrapUnique(ptr1)); |
| 555 EXPECT_EQ(res1.storedValue->get(), ptr1); | 555 EXPECT_EQ(res1.storedValue->get(), ptr1); |
| 556 } | 556 } |
| 557 | 557 |
| 558 EXPECT_FALSE(deleted1); | 558 EXPECT_FALSE(deleted1); |
| 559 EXPECT_EQ(1UL, set.size()); | 559 EXPECT_EQ(1UL, set.size()); |
| 560 OwnPtrSet::iterator it1 = set.find(ptr1); | 560 OwnPtrSet::iterator it1 = set.find(ptr1); |
| 561 EXPECT_NE(set.end(), it1); | 561 EXPECT_NE(set.end(), it1); |
| 562 EXPECT_EQ(ptr1, (*it1).get()); | 562 EXPECT_EQ(ptr1, (*it1).get()); |
| 563 | 563 |
| 564 Dummy* ptr2 = new Dummy(deleted2); | 564 Dummy* ptr2 = new Dummy(deleted2); |
| 565 { | 565 { |
| 566 OwnPtrSet::AddResult res2 = set.add(wrapUnique(ptr2)); | 566 OwnPtrSet::AddResult res2 = set.add(WTF::wrapUnique(ptr2)); |
| 567 EXPECT_EQ(res2.storedValue->get(), ptr2); | 567 EXPECT_EQ(res2.storedValue->get(), ptr2); |
| 568 } | 568 } |
| 569 | 569 |
| 570 EXPECT_FALSE(deleted2); | 570 EXPECT_FALSE(deleted2); |
| 571 EXPECT_EQ(2UL, set.size()); | 571 EXPECT_EQ(2UL, set.size()); |
| 572 OwnPtrSet::iterator it2 = set.find(ptr2); | 572 OwnPtrSet::iterator it2 = set.find(ptr2); |
| 573 EXPECT_NE(set.end(), it2); | 573 EXPECT_NE(set.end(), it2); |
| 574 EXPECT_EQ(ptr2, (*it2).get()); | 574 EXPECT_EQ(ptr2, (*it2).get()); |
| 575 | 575 |
| 576 set.remove(ptr1); | 576 set.remove(ptr1); |
| 577 EXPECT_TRUE(deleted1); | 577 EXPECT_TRUE(deleted1); |
| 578 | 578 |
| 579 set.clear(); | 579 set.clear(); |
| 580 EXPECT_TRUE(deleted2); | 580 EXPECT_TRUE(deleted2); |
| 581 EXPECT_TRUE(set.isEmpty()); | 581 EXPECT_TRUE(set.isEmpty()); |
| 582 | 582 |
| 583 deleted1 = false; | 583 deleted1 = false; |
| 584 deleted2 = false; | 584 deleted2 = false; |
| 585 { | 585 { |
| 586 OwnPtrSet set; | 586 OwnPtrSet set; |
| 587 set.add(makeUnique<Dummy>(deleted1)); | 587 set.add(WTF::makeUnique<Dummy>(deleted1)); |
| 588 set.add(makeUnique<Dummy>(deleted2)); | 588 set.add(WTF::makeUnique<Dummy>(deleted2)); |
| 589 } | 589 } |
| 590 EXPECT_TRUE(deleted1); | 590 EXPECT_TRUE(deleted1); |
| 591 EXPECT_TRUE(deleted2); | 591 EXPECT_TRUE(deleted2); |
| 592 | 592 |
| 593 deleted1 = false; | 593 deleted1 = false; |
| 594 deleted2 = false; | 594 deleted2 = false; |
| 595 std::unique_ptr<Dummy> ownPtr1; | 595 std::unique_ptr<Dummy> ownPtr1; |
| 596 std::unique_ptr<Dummy> ownPtr2; | 596 std::unique_ptr<Dummy> ownPtr2; |
| 597 ptr1 = new Dummy(deleted1); | 597 ptr1 = new Dummy(deleted1); |
| 598 ptr2 = new Dummy(deleted2); | 598 ptr2 = new Dummy(deleted2); |
| 599 { | 599 { |
| 600 OwnPtrSet set; | 600 OwnPtrSet set; |
| 601 set.add(wrapUnique(ptr1)); | 601 set.add(WTF::wrapUnique(ptr1)); |
| 602 set.add(wrapUnique(ptr2)); | 602 set.add(WTF::wrapUnique(ptr2)); |
| 603 ownPtr1 = set.takeFirst(); | 603 ownPtr1 = set.takeFirst(); |
| 604 EXPECT_EQ(1UL, set.size()); | 604 EXPECT_EQ(1UL, set.size()); |
| 605 ownPtr2 = set.take(ptr2); | 605 ownPtr2 = set.take(ptr2); |
| 606 EXPECT_TRUE(set.isEmpty()); | 606 EXPECT_TRUE(set.isEmpty()); |
| 607 } | 607 } |
| 608 EXPECT_FALSE(deleted1); | 608 EXPECT_FALSE(deleted1); |
| 609 EXPECT_FALSE(deleted2); | 609 EXPECT_FALSE(deleted2); |
| 610 | 610 |
| 611 EXPECT_EQ(ptr1, ownPtr1.get()); | 611 EXPECT_EQ(ptr1, ownPtr1.get()); |
| 612 EXPECT_EQ(ptr2, ownPtr2.get()); | 612 EXPECT_EQ(ptr2, ownPtr2.get()); |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 813 | 813 |
| 814 // ... but they don't have any pass-out (like take()) methods. | 814 // ... but they don't have any pass-out (like take()) methods. |
| 815 | 815 |
| 816 set.remove(MoveOnly(3)); | 816 set.remove(MoveOnly(3)); |
| 817 set.clear(); | 817 set.clear(); |
| 818 } | 818 } |
| 819 | 819 |
| 820 } // anonymous namespace | 820 } // anonymous namespace |
| 821 | 821 |
| 822 } // namespace WTF | 822 } // namespace WTF |
| OLD | NEW |