Chromium Code Reviews| Index: base/memory/ref_counted_unittest.cc |
| diff --git a/base/memory/ref_counted_unittest.cc b/base/memory/ref_counted_unittest.cc |
| index 7c4e07af49e4a1e48fba7019d38e4177278a4665..5a19266326f06bc38def78c64c235d6a87bba1df 100644 |
| --- a/base/memory/ref_counted_unittest.cc |
| +++ b/base/memory/ref_counted_unittest.cc |
| @@ -4,6 +4,8 @@ |
| #include "base/memory/ref_counted.h" |
| +#include <utility> |
| + |
| #include "base/test/opaque_ref_counted.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| @@ -156,13 +158,50 @@ TEST(RefCountedUnitTest, ScopedRefPtrToSelfMoveAssignment) { |
| } |
| TEST(RefCountedUnitTest, ScopedRefPtrToOpaque) { |
| - scoped_refptr<base::OpaqueRefCounted> p = base::MakeOpaqueRefCounted(); |
| - base::TestOpaqueRefCounted(p); |
| + scoped_refptr<base::OpaqueRefCounted> initial = base::MakeOpaqueRefCounted(); |
| + base::TestOpaqueRefCounted(initial); |
| + |
| + scoped_refptr<base::OpaqueRefCounted> assigned; |
| + assigned = initial; |
| + base::TestOpaqueRefCounted(initial); |
| + base::TestOpaqueRefCounted(assigned); |
| + |
| + scoped_refptr<base::OpaqueRefCounted> copied(initial); |
| + base::TestOpaqueRefCounted(initial); |
| + base::TestOpaqueRefCounted(copied); |
| + |
| + scoped_refptr<base::OpaqueRefCounted> moved(std::move(initial)); |
|
danakj
2016/10/27 22:10:54
Isn't this just testing different ways to make a s
gab
2016/10/28 14:02:26
Right I guess the multiple calls to TestOpaqueRefC
danakj
2016/10/29 00:49:09
Yes if u wanna test them do it as a separate test
gab
2016/10/31 15:01:14
Removed extraneous calls.
|
| + EXPECT_EQ(nullptr, initial.get()); |
| + base::TestOpaqueRefCounted(moved); |
| + |
| + scoped_refptr<base::OpaqueRefCounted> move_assigned; |
| + move_assigned = std::move(moved); |
| + EXPECT_EQ(nullptr, moved.get()); |
| + base::TestOpaqueRefCounted(move_assigned); |
| +} |
| + |
| +TEST(RefCountedUnitTest, ScopedRefPtrToOpaqueThreadSafe) { |
| + scoped_refptr<base::OpaqueRefCountedThreadSafe> initial = |
| + base::MakeOpaqueRefCountedThreadSafe(); |
| + base::TestOpaqueRefCountedThreadSafe(initial); |
| + |
| + scoped_refptr<base::OpaqueRefCountedThreadSafe> assigned; |
| + assigned = initial; |
| + base::TestOpaqueRefCountedThreadSafe(initial); |
| + base::TestOpaqueRefCountedThreadSafe(assigned); |
| + |
| + scoped_refptr<base::OpaqueRefCountedThreadSafe> copied(initial); |
| + base::TestOpaqueRefCountedThreadSafe(initial); |
| + base::TestOpaqueRefCountedThreadSafe(copied); |
| + |
| + scoped_refptr<base::OpaqueRefCountedThreadSafe> moved(std::move(initial)); |
| + EXPECT_EQ(nullptr, initial.get()); |
| + base::TestOpaqueRefCountedThreadSafe(moved); |
| - scoped_refptr<base::OpaqueRefCounted> q; |
| - q = p; |
| - base::TestOpaqueRefCounted(p); |
| - base::TestOpaqueRefCounted(q); |
| + scoped_refptr<base::OpaqueRefCountedThreadSafe> move_assigned; |
| + move_assigned = std::move(moved); |
| + EXPECT_EQ(nullptr, moved.get()); |
| + base::TestOpaqueRefCountedThreadSafe(move_assigned); |
| } |
| TEST(RefCountedUnitTest, BooleanTesting) { |