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

Side by Side Diff: net/quic/platform/api/quic_reference_counted_test.cc

Issue 2848203002: Add a platform implementation of QuicTest and QuicTestWithParam (Closed)
Patch Set: net/quic/platform/impl/quic_test_impl.cc Created 3 years, 7 months 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
OLDNEW
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "net/quic/platform/api/quic_reference_counted.h" 5 #include "net/quic/platform/api/quic_reference_counted.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "net/quic/platform/api/quic_test.h"
8 8
9 namespace net { 9 namespace net {
10 namespace test { 10 namespace test {
11 namespace { 11 namespace {
12 12
13 class Base : public QuicReferenceCounted { 13 class Base : public QuicReferenceCounted {
14 public: 14 public:
15 explicit Base(bool* destroyed) : destroyed_(destroyed) { 15 explicit Base(bool* destroyed) : destroyed_(destroyed) {
16 *destroyed_ = false; 16 *destroyed_ = false;
17 } 17 }
18 18
19 bool destroyed() const { return *destroyed_; } 19 bool destroyed() const { return *destroyed_; }
20 20
21 protected: 21 protected:
22 ~Base() override { *destroyed_ = true; } 22 ~Base() override { *destroyed_ = true; }
23 23
24 private: 24 private:
25 bool* destroyed_; 25 bool* destroyed_;
26 }; 26 };
27 27
28 class Derived : public Base { 28 class Derived : public Base {
29 public: 29 public:
30 explicit Derived(bool* destroyed) : Base(destroyed) {} 30 explicit Derived(bool* destroyed) : Base(destroyed) {}
31 31
32 private: 32 private:
33 ~Derived() override {} 33 ~Derived() override {}
34 }; 34 };
35 35
36 TEST(QuicReferenceCountedTest, DefaultConstructor) { 36 class QuicReferenceCountedTest : public QuicTest {};
37
38 TEST_F(QuicReferenceCountedTest, DefaultConstructor) {
37 QuicReferenceCountedPointer<Base> a; 39 QuicReferenceCountedPointer<Base> a;
38 EXPECT_EQ(nullptr, a); 40 EXPECT_EQ(nullptr, a);
39 EXPECT_EQ(nullptr, a.get()); 41 EXPECT_EQ(nullptr, a.get());
40 EXPECT_FALSE(a); 42 EXPECT_FALSE(a);
41 } 43 }
42 44
43 TEST(QuicReferenceCountedTest, ConstructFromRawPointer) { 45 TEST_F(QuicReferenceCountedTest, ConstructFromRawPointer) {
44 bool destroyed = false; 46 bool destroyed = false;
45 { 47 {
46 QuicReferenceCountedPointer<Base> a(new Base(&destroyed)); 48 QuicReferenceCountedPointer<Base> a(new Base(&destroyed));
47 EXPECT_FALSE(destroyed); 49 EXPECT_FALSE(destroyed);
48 } 50 }
49 EXPECT_TRUE(destroyed); 51 EXPECT_TRUE(destroyed);
50 } 52 }
51 53
52 TEST(QuicReferenceCountedTest, RawPointerAssignment) { 54 TEST_F(QuicReferenceCountedTest, RawPointerAssignment) {
53 bool destroyed = false; 55 bool destroyed = false;
54 { 56 {
55 QuicReferenceCountedPointer<Base> a; 57 QuicReferenceCountedPointer<Base> a;
56 Base* rct = new Base(&destroyed); 58 Base* rct = new Base(&destroyed);
57 a = rct; 59 a = rct;
58 EXPECT_FALSE(destroyed); 60 EXPECT_FALSE(destroyed);
59 } 61 }
60 EXPECT_TRUE(destroyed); 62 EXPECT_TRUE(destroyed);
61 } 63 }
62 64
63 TEST(QuicReferenceCountedTest, PointerCopy) { 65 TEST_F(QuicReferenceCountedTest, PointerCopy) {
64 bool destroyed = false; 66 bool destroyed = false;
65 { 67 {
66 QuicReferenceCountedPointer<Base> a(new Base(&destroyed)); 68 QuicReferenceCountedPointer<Base> a(new Base(&destroyed));
67 { 69 {
68 QuicReferenceCountedPointer<Base> b(a); 70 QuicReferenceCountedPointer<Base> b(a);
69 EXPECT_EQ(a, b); 71 EXPECT_EQ(a, b);
70 EXPECT_FALSE(destroyed); 72 EXPECT_FALSE(destroyed);
71 } 73 }
72 EXPECT_FALSE(destroyed); 74 EXPECT_FALSE(destroyed);
73 } 75 }
74 EXPECT_TRUE(destroyed); 76 EXPECT_TRUE(destroyed);
75 } 77 }
76 78
77 TEST(QuicReferenceCountedTest, PointerCopyAssignment) { 79 TEST_F(QuicReferenceCountedTest, PointerCopyAssignment) {
78 bool destroyed = false; 80 bool destroyed = false;
79 { 81 {
80 QuicReferenceCountedPointer<Base> a(new Base(&destroyed)); 82 QuicReferenceCountedPointer<Base> a(new Base(&destroyed));
81 { 83 {
82 QuicReferenceCountedPointer<Base> b = a; 84 QuicReferenceCountedPointer<Base> b = a;
83 EXPECT_EQ(a, b); 85 EXPECT_EQ(a, b);
84 EXPECT_FALSE(destroyed); 86 EXPECT_FALSE(destroyed);
85 } 87 }
86 EXPECT_FALSE(destroyed); 88 EXPECT_FALSE(destroyed);
87 } 89 }
88 EXPECT_TRUE(destroyed); 90 EXPECT_TRUE(destroyed);
89 } 91 }
90 92
91 TEST(QuicReferenceCountedTest, PointerCopyFromOtherType) { 93 TEST_F(QuicReferenceCountedTest, PointerCopyFromOtherType) {
92 bool destroyed = false; 94 bool destroyed = false;
93 { 95 {
94 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); 96 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed));
95 { 97 {
96 QuicReferenceCountedPointer<Base> b(a); 98 QuicReferenceCountedPointer<Base> b(a);
97 EXPECT_EQ(a.get(), b.get()); 99 EXPECT_EQ(a.get(), b.get());
98 EXPECT_FALSE(destroyed); 100 EXPECT_FALSE(destroyed);
99 } 101 }
100 EXPECT_FALSE(destroyed); 102 EXPECT_FALSE(destroyed);
101 } 103 }
102 EXPECT_TRUE(destroyed); 104 EXPECT_TRUE(destroyed);
103 } 105 }
104 106
105 TEST(QuicReferenceCountedTest, PointerCopyAssignmentFromOtherType) { 107 TEST_F(QuicReferenceCountedTest, PointerCopyAssignmentFromOtherType) {
106 bool destroyed = false; 108 bool destroyed = false;
107 { 109 {
108 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); 110 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed));
109 { 111 {
110 QuicReferenceCountedPointer<Base> b = a; 112 QuicReferenceCountedPointer<Base> b = a;
111 EXPECT_EQ(a.get(), b.get()); 113 EXPECT_EQ(a.get(), b.get());
112 EXPECT_FALSE(destroyed); 114 EXPECT_FALSE(destroyed);
113 } 115 }
114 EXPECT_FALSE(destroyed); 116 EXPECT_FALSE(destroyed);
115 } 117 }
116 EXPECT_TRUE(destroyed); 118 EXPECT_TRUE(destroyed);
117 } 119 }
118 120
119 TEST(QuicReferenceCountedTest, PointerMove) { 121 TEST_F(QuicReferenceCountedTest, PointerMove) {
120 bool destroyed = false; 122 bool destroyed = false;
121 QuicReferenceCountedPointer<Base> a(new Derived(&destroyed)); 123 QuicReferenceCountedPointer<Base> a(new Derived(&destroyed));
122 EXPECT_FALSE(destroyed); 124 EXPECT_FALSE(destroyed);
123 QuicReferenceCountedPointer<Base> b(std::move(a)); 125 QuicReferenceCountedPointer<Base> b(std::move(a));
124 EXPECT_FALSE(destroyed); 126 EXPECT_FALSE(destroyed);
125 EXPECT_NE(nullptr, b); 127 EXPECT_NE(nullptr, b);
126 EXPECT_EQ(nullptr, a); // NOLINT 128 EXPECT_EQ(nullptr, a); // NOLINT
127 129
128 b = nullptr; 130 b = nullptr;
129 EXPECT_TRUE(destroyed); 131 EXPECT_TRUE(destroyed);
130 } 132 }
131 133
132 TEST(QuicReferenceCountedTest, PointerMoveAssignment) { 134 TEST_F(QuicReferenceCountedTest, PointerMoveAssignment) {
133 bool destroyed = false; 135 bool destroyed = false;
134 QuicReferenceCountedPointer<Base> a(new Derived(&destroyed)); 136 QuicReferenceCountedPointer<Base> a(new Derived(&destroyed));
135 EXPECT_FALSE(destroyed); 137 EXPECT_FALSE(destroyed);
136 QuicReferenceCountedPointer<Base> b = std::move(a); 138 QuicReferenceCountedPointer<Base> b = std::move(a);
137 EXPECT_FALSE(destroyed); 139 EXPECT_FALSE(destroyed);
138 EXPECT_NE(nullptr, b); 140 EXPECT_NE(nullptr, b);
139 EXPECT_EQ(nullptr, a); // NOLINT 141 EXPECT_EQ(nullptr, a); // NOLINT
140 142
141 b = nullptr; 143 b = nullptr;
142 EXPECT_TRUE(destroyed); 144 EXPECT_TRUE(destroyed);
143 } 145 }
144 146
145 TEST(QuicReferenceCountedTest, PointerMoveFromOtherType) { 147 TEST_F(QuicReferenceCountedTest, PointerMoveFromOtherType) {
146 bool destroyed = false; 148 bool destroyed = false;
147 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); 149 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed));
148 EXPECT_FALSE(destroyed); 150 EXPECT_FALSE(destroyed);
149 QuicReferenceCountedPointer<Base> b(std::move(a)); 151 QuicReferenceCountedPointer<Base> b(std::move(a));
150 EXPECT_FALSE(destroyed); 152 EXPECT_FALSE(destroyed);
151 EXPECT_NE(nullptr, b); 153 EXPECT_NE(nullptr, b);
152 EXPECT_EQ(nullptr, a); // NOLINT 154 EXPECT_EQ(nullptr, a); // NOLINT
153 155
154 b = nullptr; 156 b = nullptr;
155 EXPECT_TRUE(destroyed); 157 EXPECT_TRUE(destroyed);
156 } 158 }
157 159
158 TEST(QuicReferenceCountedTest, PointerMoveAssignmentFromOtherType) { 160 TEST_F(QuicReferenceCountedTest, PointerMoveAssignmentFromOtherType) {
159 bool destroyed = false; 161 bool destroyed = false;
160 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed)); 162 QuicReferenceCountedPointer<Derived> a(new Derived(&destroyed));
161 EXPECT_FALSE(destroyed); 163 EXPECT_FALSE(destroyed);
162 QuicReferenceCountedPointer<Base> b = std::move(a); 164 QuicReferenceCountedPointer<Base> b = std::move(a);
163 EXPECT_FALSE(destroyed); 165 EXPECT_FALSE(destroyed);
164 EXPECT_NE(nullptr, b); 166 EXPECT_NE(nullptr, b);
165 EXPECT_EQ(nullptr, a); // NOLINT 167 EXPECT_EQ(nullptr, a); // NOLINT
166 168
167 b = nullptr; 169 b = nullptr;
168 EXPECT_TRUE(destroyed); 170 EXPECT_TRUE(destroyed);
169 } 171 }
170 172
171 } // namespace 173 } // namespace
172 } // namespace test 174 } // namespace test
173 } // namespace net 175 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/platform/api/quic_lru_cache_test.cc ('k') | net/quic/platform/api/quic_str_cat_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698