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

Side by Side Diff: webrtc/base/httpbase_unittest.cc

Issue 2718663005: Replace NULL with nullptr or null in webrtc/base/. (Closed)
Patch Set: Fixing Windows and formatting issues. Created 3 years, 9 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
« no previous file with comments | « webrtc/base/httpbase.cc ('k') | webrtc/base/httpcommon.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 class HttpBaseTest : public testing::Test, public IHttpNotify { 47 class HttpBaseTest : public testing::Test, public IHttpNotify {
48 public: 48 public:
49 enum EventType { E_HEADER_COMPLETE, E_COMPLETE, E_CLOSED }; 49 enum EventType { E_HEADER_COMPLETE, E_COMPLETE, E_CLOSED };
50 struct Event { 50 struct Event {
51 EventType event; 51 EventType event;
52 bool chunked; 52 bool chunked;
53 size_t data_size; 53 size_t data_size;
54 HttpMode mode; 54 HttpMode mode;
55 HttpError err; 55 HttpError err;
56 }; 56 };
57 HttpBaseTest() : mem(NULL), obtain_stream(false), http_stream(NULL) { } 57 HttpBaseTest() : mem(nullptr), obtain_stream(false), http_stream(nullptr) {}
58 58
59 virtual void SetUp() { } 59 virtual void SetUp() { }
60 virtual void TearDown() { 60 virtual void TearDown() {
61 delete http_stream; 61 delete http_stream;
62 // Avoid an ASSERT, in case a test doesn't clean up properly 62 // Avoid an ASSERT, in case a test doesn't clean up properly
63 base.abort(HE_NONE); 63 base.abort(HE_NONE);
64 } 64 }
65 65
66 virtual HttpError onHttpHeaderComplete(bool chunked, size_t& data_size) { 66 virtual HttpError onHttpHeaderComplete(bool chunked, size_t& data_size) {
67 LOG_F(LS_VERBOSE) << "chunked: " << chunked << " size: " << data_size; 67 LOG_F(LS_VERBOSE) << "chunked: " << chunked << " size: " << data_size;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 mem->GetSize(&length); 182 mem->GetSize(&length);
183 EXPECT_EQ(expected_length, length); 183 EXPECT_EQ(expected_length, length);
184 EXPECT_TRUE(0 == memcmp(expected_data, mem->GetBuffer(), length)); 184 EXPECT_TRUE(0 == memcmp(expected_data, mem->GetBuffer(), length));
185 LOG_F(LS_VERBOSE) << "Exit"; 185 LOG_F(LS_VERBOSE) << "Exit";
186 } 186 }
187 187
188 void HttpBaseTest::ObtainDocumentStream() { 188 void HttpBaseTest::ObtainDocumentStream() {
189 LOG_F(LS_VERBOSE) << "Enter"; 189 LOG_F(LS_VERBOSE) << "Enter";
190 EXPECT_FALSE(http_stream); 190 EXPECT_FALSE(http_stream);
191 http_stream = base.GetDocumentStream(); 191 http_stream = base.GetDocumentStream();
192 ASSERT_TRUE(NULL != http_stream); 192 ASSERT_TRUE(nullptr != http_stream);
193 sink.Monitor(http_stream); 193 sink.Monitor(http_stream);
194 LOG_F(LS_VERBOSE) << "Exit"; 194 LOG_F(LS_VERBOSE) << "Exit";
195 } 195 }
196 196
197 void HttpBaseTest::VerifyDocumentStreamIsOpening() { 197 void HttpBaseTest::VerifyDocumentStreamIsOpening() {
198 LOG_F(LS_VERBOSE) << "Enter"; 198 LOG_F(LS_VERBOSE) << "Enter";
199 ASSERT_TRUE(NULL != http_stream); 199 ASSERT_TRUE(nullptr != http_stream);
200 EXPECT_EQ(0, sink.Events(http_stream)); 200 EXPECT_EQ(0, sink.Events(http_stream));
201 EXPECT_EQ(SS_OPENING, http_stream->GetState()); 201 EXPECT_EQ(SS_OPENING, http_stream->GetState());
202 202
203 size_t read = 0; 203 size_t read = 0;
204 char buffer[5] = { 0 }; 204 char buffer[5] = { 0 };
205 EXPECT_EQ(SR_BLOCK, http_stream->Read(buffer, sizeof(buffer), &read, NULL)); 205 EXPECT_EQ(SR_BLOCK,
206 http_stream->Read(buffer, sizeof(buffer), &read, nullptr));
206 LOG_F(LS_VERBOSE) << "Exit"; 207 LOG_F(LS_VERBOSE) << "Exit";
207 } 208 }
208 209
209 void HttpBaseTest::VerifyDocumentStreamOpenEvent() { 210 void HttpBaseTest::VerifyDocumentStreamOpenEvent() {
210 LOG_F(LS_VERBOSE) << "Enter"; 211 LOG_F(LS_VERBOSE) << "Enter";
211 212
212 ASSERT_TRUE(NULL != http_stream); 213 ASSERT_TRUE(nullptr != http_stream);
213 EXPECT_EQ(SE_OPEN | SE_READ, sink.Events(http_stream)); 214 EXPECT_EQ(SE_OPEN | SE_READ, sink.Events(http_stream));
214 EXPECT_EQ(SS_OPEN, http_stream->GetState()); 215 EXPECT_EQ(SS_OPEN, http_stream->GetState());
215 216
216 // HTTP headers haven't arrived yet 217 // HTTP headers haven't arrived yet
217 EXPECT_EQ(0U, events.size()); 218 EXPECT_EQ(0U, events.size());
218 EXPECT_EQ(static_cast<uint32_t>(HC_INTERNAL_SERVER_ERROR), data.scode); 219 EXPECT_EQ(static_cast<uint32_t>(HC_INTERNAL_SERVER_ERROR), data.scode);
219 LOG_F(LS_VERBOSE) << "Exit"; 220 LOG_F(LS_VERBOSE) << "Exit";
220 } 221 }
221 222
222 void HttpBaseTest::ReadDocumentStreamData(const char* expected_data) { 223 void HttpBaseTest::ReadDocumentStreamData(const char* expected_data) {
223 LOG_F(LS_VERBOSE) << "Enter"; 224 LOG_F(LS_VERBOSE) << "Enter";
224 225
225 ASSERT_TRUE(NULL != http_stream); 226 ASSERT_TRUE(nullptr != http_stream);
226 EXPECT_EQ(SS_OPEN, http_stream->GetState()); 227 EXPECT_EQ(SS_OPEN, http_stream->GetState());
227 228
228 // Pump the HTTP I/O using Read, and verify the results. 229 // Pump the HTTP I/O using Read, and verify the results.
229 size_t verified_length = 0; 230 size_t verified_length = 0;
230 const size_t expected_length = strlen(expected_data); 231 const size_t expected_length = strlen(expected_data);
231 while (verified_length < expected_length) { 232 while (verified_length < expected_length) {
232 size_t read = 0; 233 size_t read = 0;
233 char buffer[5] = { 0 }; 234 char buffer[5] = { 0 };
234 size_t amt_to_read = 235 size_t amt_to_read =
235 std::min(expected_length - verified_length, sizeof(buffer)); 236 std::min(expected_length - verified_length, sizeof(buffer));
236 EXPECT_EQ(SR_SUCCESS, http_stream->Read(buffer, amt_to_read, &read, NULL)); 237 EXPECT_EQ(SR_SUCCESS,
238 http_stream->Read(buffer, amt_to_read, &read, nullptr));
237 EXPECT_EQ(amt_to_read, read); 239 EXPECT_EQ(amt_to_read, read);
238 EXPECT_TRUE(0 == memcmp(expected_data + verified_length, buffer, read)); 240 EXPECT_TRUE(0 == memcmp(expected_data + verified_length, buffer, read));
239 verified_length += read; 241 verified_length += read;
240 } 242 }
241 LOG_F(LS_VERBOSE) << "Exit"; 243 LOG_F(LS_VERBOSE) << "Exit";
242 } 244 }
243 245
244 void HttpBaseTest::VerifyDocumentStreamIsEOS() { 246 void HttpBaseTest::VerifyDocumentStreamIsEOS() {
245 LOG_F(LS_VERBOSE) << "Enter"; 247 LOG_F(LS_VERBOSE) << "Enter";
246 248
247 ASSERT_TRUE(NULL != http_stream); 249 ASSERT_TRUE(nullptr != http_stream);
248 size_t read = 0; 250 size_t read = 0;
249 char buffer[5] = { 0 }; 251 char buffer[5] = { 0 };
250 EXPECT_EQ(SR_EOS, http_stream->Read(buffer, sizeof(buffer), &read, NULL)); 252 EXPECT_EQ(SR_EOS, http_stream->Read(buffer, sizeof(buffer), &read, nullptr));
251 EXPECT_EQ(SS_CLOSED, http_stream->GetState()); 253 EXPECT_EQ(SS_CLOSED, http_stream->GetState());
252 254
253 // When EOS is caused by Read, we don't expect SE_CLOSE 255 // When EOS is caused by Read, we don't expect SE_CLOSE
254 EXPECT_EQ(0, sink.Events(http_stream)); 256 EXPECT_EQ(0, sink.Events(http_stream));
255 LOG_F(LS_VERBOSE) << "Exit"; 257 LOG_F(LS_VERBOSE) << "Exit";
256 } 258 }
257 259
258 void HttpBaseTest::SetupDocument(const char* document_data) { 260 void HttpBaseTest::SetupDocument(const char* document_data) {
259 LOG_F(LS_VERBOSE) << "Enter"; 261 LOG_F(LS_VERBOSE) << "Enter";
260 src.SetState(SS_OPEN); 262 src.SetState(SS_OPEN);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 // Begin send 315 // Begin send
314 base.send(&data); 316 base.send(&data);
315 317
316 // Send completed successfully 318 // Send completed successfully
317 VerifyTransferComplete(HM_SEND, HE_NONE); 319 VerifyTransferComplete(HM_SEND, HE_NONE);
318 VerifySourceContents(kHttpResponse); 320 VerifySourceContents(kHttpResponse);
319 } 321 }
320 322
321 TEST_F(HttpBaseTest, SupportsSendNoDocument) { 323 TEST_F(HttpBaseTest, SupportsSendNoDocument) {
322 // Queue response document 324 // Queue response document
323 SetupDocument(NULL); 325 SetupDocument(nullptr);
324 326
325 // Begin send 327 // Begin send
326 base.send(&data); 328 base.send(&data);
327 329
328 // Send completed successfully 330 // Send completed successfully
329 VerifyTransferComplete(HM_SEND, HE_NONE); 331 VerifyTransferComplete(HM_SEND, HE_NONE);
330 VerifySourceContents(kHttpEmptyResponse); 332 VerifySourceContents(kHttpEmptyResponse);
331 } 333 }
332 334
333 TEST_F(HttpBaseTest, SignalsCompleteOnInterruptedSend) { 335 TEST_F(HttpBaseTest, SignalsCompleteOnInterruptedSend) {
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 obtain_stream = true; 470 obtain_stream = true;
469 471
470 // Begin receive 472 // Begin receive
471 base.recv(&data); 473 base.recv(&data);
472 474
473 // We've already seen the header, but not data has arrived 475 // We've already seen the header, but not data has arrived
474 VerifyHeaderComplete(1, true); 476 VerifyHeaderComplete(1, true);
475 VerifyDocumentContents(""); 477 VerifyDocumentContents("");
476 478
477 // The document is still open, until we attempt to read 479 // The document is still open, until we attempt to read
478 ASSERT_TRUE(NULL != http_stream); 480 ASSERT_TRUE(nullptr != http_stream);
479 EXPECT_EQ(SS_OPEN, http_stream->GetState()); 481 EXPECT_EQ(SS_OPEN, http_stream->GetState());
480 482
481 // Attempt to read data, and discover EOS 483 // Attempt to read data, and discover EOS
482 VerifyDocumentStreamIsEOS(); 484 VerifyDocumentStreamIsEOS();
483 485
484 // Document completed successfully 486 // Document completed successfully
485 VerifyTransferComplete(HM_RECV, HE_NONE); 487 VerifyTransferComplete(HM_RECV, HE_NONE);
486 VerifyDocumentContents(""); 488 VerifyDocumentContents("");
487 } 489 }
488 490
(...skipping 15 matching lines...) Expand all
504 506
505 // Simulate unexpected close 507 // Simulate unexpected close
506 src.SetState(SS_CLOSED); 508 src.SetState(SS_CLOSED);
507 509
508 // Observe error event on document stream 510 // Observe error event on document stream
509 EXPECT_EQ(testing::SSE_ERROR, sink.Events(http_stream)); 511 EXPECT_EQ(testing::SSE_ERROR, sink.Events(http_stream));
510 512
511 // Future reads give an error 513 // Future reads give an error
512 int error = 0; 514 int error = 0;
513 char buffer[5] = { 0 }; 515 char buffer[5] = { 0 };
514 EXPECT_EQ(SR_ERROR, http_stream->Read(buffer, sizeof(buffer), NULL, &error)); 516 EXPECT_EQ(SR_ERROR,
517 http_stream->Read(buffer, sizeof(buffer), nullptr, &error));
515 EXPECT_EQ(HE_DISCONNECTED, error); 518 EXPECT_EQ(HE_DISCONNECTED, error);
516 519
517 // Document completed with error 520 // Document completed with error
518 VerifyHeaderComplete(2, false); 521 VerifyHeaderComplete(2, false);
519 VerifyTransferComplete(HM_RECV, HE_DISCONNECTED); 522 VerifyTransferComplete(HM_RECV, HE_DISCONNECTED);
520 VerifyDocumentContents(""); 523 VerifyDocumentContents("");
521 } 524 }
522 525
523 } // namespace rtc 526 } // namespace rtc
OLDNEW
« no previous file with comments | « webrtc/base/httpbase.cc ('k') | webrtc/base/httpcommon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698