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

Side by Side Diff: net/spdy/spdy_write_queue_unittest.cc

Issue 1440593004: Make operators on scoped_ptr match the ones defined for std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrequals: followupfix-after-rebase Created 5 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/spdy/spdy_write_queue.h" 5 #include "net/spdy/spdy_write_queue.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 #include <cstring> 8 #include <cstring>
9 #include <string> 9 #include <string>
10 10
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 write_queue.Enqueue( 120 write_queue.Enqueue(
121 HIGHEST, RST_STREAM, producer_highest.Pass(), 121 HIGHEST, RST_STREAM, producer_highest.Pass(),
122 stream_highest->GetWeakPtr()); 122 stream_highest->GetWeakPtr());
123 123
124 SpdyFrameType frame_type = DATA; 124 SpdyFrameType frame_type = DATA;
125 scoped_ptr<SpdyBufferProducer> frame_producer; 125 scoped_ptr<SpdyBufferProducer> frame_producer;
126 base::WeakPtr<SpdyStream> stream; 126 base::WeakPtr<SpdyStream> stream;
127 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 127 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
128 EXPECT_EQ(RST_STREAM, frame_type); 128 EXPECT_EQ(RST_STREAM, frame_type);
129 EXPECT_EQ("HIGHEST", ProducerToString(frame_producer.Pass())); 129 EXPECT_EQ("HIGHEST", ProducerToString(frame_producer.Pass()));
130 EXPECT_EQ(stream_highest, stream.get()); 130 EXPECT_EQ(stream_highest.get(), stream.get());
131 131
132 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 132 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
133 EXPECT_EQ(SYN_REPLY, frame_type); 133 EXPECT_EQ(SYN_REPLY, frame_type);
134 EXPECT_EQ("MEDIUM", ProducerToString(frame_producer.Pass())); 134 EXPECT_EQ("MEDIUM", ProducerToString(frame_producer.Pass()));
135 EXPECT_EQ(stream_medium, stream.get()); 135 EXPECT_EQ(stream_medium.get(), stream.get());
136 136
137 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 137 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
138 EXPECT_EQ(SYN_STREAM, frame_type); 138 EXPECT_EQ(SYN_STREAM, frame_type);
139 EXPECT_EQ("LOW", ProducerToString(frame_producer.Pass())); 139 EXPECT_EQ("LOW", ProducerToString(frame_producer.Pass()));
140 EXPECT_EQ(NULL, stream.get()); 140 EXPECT_EQ(nullptr, stream.get());
141 141
142 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 142 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
143 } 143 }
144 144
145 // Add some frame producers with the same priority. The producers 145 // Add some frame producers with the same priority. The producers
146 // should be dequeued in FIFO order with their associated stream. 146 // should be dequeued in FIFO order with their associated stream.
147 TEST_F(SpdyWriteQueueTest, DequeuesFIFO) { 147 TEST_F(SpdyWriteQueueTest, DequeuesFIFO) {
148 SpdyWriteQueue write_queue; 148 SpdyWriteQueue write_queue;
149 149
150 scoped_ptr<SpdyBufferProducer> producer1 = IntToProducer(1); 150 scoped_ptr<SpdyBufferProducer> producer1 = IntToProducer(1);
(...skipping 10 matching lines...) Expand all
161 stream2->GetWeakPtr()); 161 stream2->GetWeakPtr());
162 write_queue.Enqueue(DEFAULT_PRIORITY, RST_STREAM, producer3.Pass(), 162 write_queue.Enqueue(DEFAULT_PRIORITY, RST_STREAM, producer3.Pass(),
163 stream3->GetWeakPtr()); 163 stream3->GetWeakPtr());
164 164
165 SpdyFrameType frame_type = DATA; 165 SpdyFrameType frame_type = DATA;
166 scoped_ptr<SpdyBufferProducer> frame_producer; 166 scoped_ptr<SpdyBufferProducer> frame_producer;
167 base::WeakPtr<SpdyStream> stream; 167 base::WeakPtr<SpdyStream> stream;
168 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 168 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
169 EXPECT_EQ(SYN_STREAM, frame_type); 169 EXPECT_EQ(SYN_STREAM, frame_type);
170 EXPECT_EQ(1, ProducerToInt(frame_producer.Pass())); 170 EXPECT_EQ(1, ProducerToInt(frame_producer.Pass()));
171 EXPECT_EQ(stream1, stream.get()); 171 EXPECT_EQ(stream1.get(), stream.get());
172 172
173 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 173 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
174 EXPECT_EQ(SYN_REPLY, frame_type); 174 EXPECT_EQ(SYN_REPLY, frame_type);
175 EXPECT_EQ(2, ProducerToInt(frame_producer.Pass())); 175 EXPECT_EQ(2, ProducerToInt(frame_producer.Pass()));
176 EXPECT_EQ(stream2, stream.get()); 176 EXPECT_EQ(stream2.get(), stream.get());
177 177
178 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 178 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
179 EXPECT_EQ(RST_STREAM, frame_type); 179 EXPECT_EQ(RST_STREAM, frame_type);
180 EXPECT_EQ(3, ProducerToInt(frame_producer.Pass())); 180 EXPECT_EQ(3, ProducerToInt(frame_producer.Pass()));
181 EXPECT_EQ(stream3, stream.get()); 181 EXPECT_EQ(stream3.get(), stream.get());
182 182
183 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 183 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
184 } 184 }
185 185
186 // Enqueue a bunch of writes and then call 186 // Enqueue a bunch of writes and then call
187 // RemovePendingWritesForStream() on one of the streams. No dequeued 187 // RemovePendingWritesForStream() on one of the streams. No dequeued
188 // write should be for that stream. 188 // write should be for that stream.
189 TEST_F(SpdyWriteQueueTest, RemovePendingWritesForStream) { 189 TEST_F(SpdyWriteQueueTest, RemovePendingWritesForStream) {
190 SpdyWriteQueue write_queue; 190 SpdyWriteQueue write_queue;
191 191
192 scoped_ptr<SpdyStream> stream1(MakeTestStream(DEFAULT_PRIORITY)); 192 scoped_ptr<SpdyStream> stream1(MakeTestStream(DEFAULT_PRIORITY));
193 scoped_ptr<SpdyStream> stream2(MakeTestStream(DEFAULT_PRIORITY)); 193 scoped_ptr<SpdyStream> stream2(MakeTestStream(DEFAULT_PRIORITY));
194 194
195 for (int i = 0; i < 100; ++i) { 195 for (int i = 0; i < 100; ++i) {
196 base::WeakPtr<SpdyStream> stream = 196 base::WeakPtr<SpdyStream> stream =
197 (((i % 3) == 0) ? stream1 : stream2)->GetWeakPtr(); 197 (((i % 3) == 0) ? stream1 : stream2)->GetWeakPtr();
198 write_queue.Enqueue(DEFAULT_PRIORITY, SYN_STREAM, IntToProducer(i), stream); 198 write_queue.Enqueue(DEFAULT_PRIORITY, SYN_STREAM, IntToProducer(i), stream);
199 } 199 }
200 200
201 write_queue.RemovePendingWritesForStream(stream2->GetWeakPtr()); 201 write_queue.RemovePendingWritesForStream(stream2->GetWeakPtr());
202 202
203 for (int i = 0; i < 100; i += 3) { 203 for (int i = 0; i < 100; i += 3) {
204 SpdyFrameType frame_type = DATA; 204 SpdyFrameType frame_type = DATA;
205 scoped_ptr<SpdyBufferProducer> frame_producer; 205 scoped_ptr<SpdyBufferProducer> frame_producer;
206 base::WeakPtr<SpdyStream> stream; 206 base::WeakPtr<SpdyStream> stream;
207 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 207 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
208 EXPECT_EQ(SYN_STREAM, frame_type); 208 EXPECT_EQ(SYN_STREAM, frame_type);
209 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass())); 209 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass()));
210 EXPECT_EQ(stream1, stream.get()); 210 EXPECT_EQ(stream1.get(), stream.get());
211 } 211 }
212 212
213 SpdyFrameType frame_type = DATA; 213 SpdyFrameType frame_type = DATA;
214 scoped_ptr<SpdyBufferProducer> frame_producer; 214 scoped_ptr<SpdyBufferProducer> frame_producer;
215 base::WeakPtr<SpdyStream> stream; 215 base::WeakPtr<SpdyStream> stream;
216 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 216 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
217 } 217 }
218 218
219 // Enqueue a bunch of writes and then call 219 // Enqueue a bunch of writes and then call
220 // RemovePendingWritesForStreamsAfter(). No dequeued write should be for 220 // RemovePendingWritesForStreamsAfter(). No dequeued write should be for
(...skipping 23 matching lines...) Expand all
244 write_queue.RemovePendingWritesForStreamsAfter(stream1->stream_id()); 244 write_queue.RemovePendingWritesForStreamsAfter(stream1->stream_id());
245 245
246 for (int i = 0; i < 100; i += arraysize(streams)) { 246 for (int i = 0; i < 100; i += arraysize(streams)) {
247 SpdyFrameType frame_type = DATA; 247 SpdyFrameType frame_type = DATA;
248 scoped_ptr<SpdyBufferProducer> frame_producer; 248 scoped_ptr<SpdyBufferProducer> frame_producer;
249 base::WeakPtr<SpdyStream> stream; 249 base::WeakPtr<SpdyStream> stream;
250 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)) 250 ASSERT_TRUE(write_queue.Dequeue(&frame_type, &frame_producer, &stream))
251 << "Unable to Dequeue i: " << i; 251 << "Unable to Dequeue i: " << i;
252 EXPECT_EQ(SYN_STREAM, frame_type); 252 EXPECT_EQ(SYN_STREAM, frame_type);
253 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass())); 253 EXPECT_EQ(i, ProducerToInt(frame_producer.Pass()));
254 EXPECT_EQ(stream1, stream.get()); 254 EXPECT_EQ(stream1.get(), stream.get());
255 } 255 }
256 256
257 SpdyFrameType frame_type = DATA; 257 SpdyFrameType frame_type = DATA;
258 scoped_ptr<SpdyBufferProducer> frame_producer; 258 scoped_ptr<SpdyBufferProducer> frame_producer;
259 base::WeakPtr<SpdyStream> stream; 259 base::WeakPtr<SpdyStream> stream;
260 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream)); 260 EXPECT_FALSE(write_queue.Dequeue(&frame_type, &frame_producer, &stream));
261 } 261 }
262 262
263 // Enqueue a bunch of writes and then call Clear(). The write queue 263 // Enqueue a bunch of writes and then call Clear(). The write queue
264 // should clean up the memory properly, and Dequeue() should return 264 // should clean up the memory properly, and Dequeue() should return
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 scoped_ptr<SpdyBufferProducer> producer; 365 scoped_ptr<SpdyBufferProducer> producer;
366 base::WeakPtr<SpdyStream> weak_stream; 366 base::WeakPtr<SpdyStream> weak_stream;
367 367
368 EXPECT_TRUE(queue.Dequeue(&frame_type, &producer, &weak_stream)); 368 EXPECT_TRUE(queue.Dequeue(&frame_type, &producer, &weak_stream));
369 EXPECT_EQ(string(kRequeued), producer->ProduceBuffer()->GetRemainingData()); 369 EXPECT_EQ(string(kRequeued), producer->ProduceBuffer()->GetRemainingData());
370 } 370 }
371 371
372 } // namespace 372 } // namespace
373 373
374 } // namespace net 374 } // namespace net
OLDNEW
« no previous file with comments | « ios/chrome/browser/updatable_config/updatable_config_base.mm ('k') | net/url_request/url_fetcher_core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698