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

Unified Diff: net/base/net_log_util_unittest.cc

Issue 754433003: Update from https://crrev.com/305340 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/net_log_util.cc ('k') | net/base/net_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/net_log_util_unittest.cc
diff --git a/net/base/net_log_util_unittest.cc b/net/base/net_log_util_unittest.cc
index e5cc3a33fb2479566b5d87f9f9496a2ce6dd226f..e052980b0882650b7cd564290fea1b1f95cec42c 100644
--- a/net/base/net_log_util_unittest.cc
+++ b/net/base/net_log_util_unittest.cc
@@ -4,12 +4,17 @@
#include "net/base/net_log_util.h"
+#include <set>
+
+#include "base/files/file_path.h"
#include "base/memory/scoped_ptr.h"
#include "base/values.h"
+#include "net/base/capturing_net_log_observer.h"
#include "net/base/net_errors.h"
#include "net/base/test_completion_callback.h"
#include "net/http/http_cache.h"
#include "net/http/http_transaction.h"
+#include "net/test/spawned_test_server/spawned_test_server.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -49,6 +54,65 @@ TEST(NetLogUtil, GetNetInfo) {
EXPECT_EQ(net_info_without_cache->size(), net_info_with_cache->size());
}
+// Make sure CreateNetLogEntriesForActiveObjects works for requests from a
+// single URLRequestContext.
+TEST(NetLogUtil, CreateNetLogEntriesForActiveObjectsOneContext) {
+ // Using same context for each iteration makes sure deleted requests don't
+ // appear in the list, or result in crashes.
+ TestURLRequestContext context(true);
+ NetLog net_log;
+ context.set_net_log(&net_log);
+ context.Init();
+ TestDelegate delegate;
+ for (size_t num_requests = 0; num_requests < 5; ++num_requests) {
+ ScopedVector<URLRequest> requests;
+ for (size_t i = 0; i < num_requests; ++i) {
+ requests.push_back(context.CreateRequest(
+ GURL("about:life"), DEFAULT_PRIORITY, &delegate, nullptr).release());
+ }
+ std::set<URLRequestContext*> contexts;
+ contexts.insert(&context);
+ CapturingNetLogObserver capturing_observer;
+ CreateNetLogEntriesForActiveObjects(contexts, &capturing_observer);
+ CapturedNetLogEntry::List entry_list;
+ capturing_observer.GetEntries(&entry_list);
+ ASSERT_EQ(num_requests, entry_list.size());
+
+ for (size_t i = 0; i < num_requests; ++i) {
+ EXPECT_EQ(entry_list[i].source.id, requests[i]->net_log().source().id);
+ }
+ }
+}
+
+// Make sure CreateNetLogEntriesForActiveObjects works with multiple
+// URLRequestContexts.
+TEST(NetLogUtil, CreateNetLogEntriesForActiveObjectsMultipleContexts) {
+ TestDelegate delegate;
+ for (size_t num_requests = 0; num_requests < 5; ++num_requests) {
+ ScopedVector<TestURLRequestContext> contexts;
+ ScopedVector<URLRequest> requests;
+ NetLog net_log;
+ std::set<URLRequestContext*> context_set;
+ for (size_t i = 0; i < num_requests; ++i) {
+ contexts.push_back(new TestURLRequestContext(true));
+ contexts[i]->set_net_log(&net_log);
+ contexts[i]->Init();
+ context_set.insert(contexts[i]);
+ requests.push_back(contexts[i]->CreateRequest(
+ GURL("about:hats"), DEFAULT_PRIORITY, &delegate, nullptr).release());
+ }
+ CapturingNetLogObserver capturing_observer;
+ CreateNetLogEntriesForActiveObjects(context_set, &capturing_observer);
+ CapturedNetLogEntry::List entry_list;
+ capturing_observer.GetEntries(&entry_list);
+ ASSERT_EQ(num_requests, entry_list.size());
+
+ for (size_t i = 0; i < num_requests; ++i) {
+ EXPECT_EQ(entry_list[i].source.id, requests[i]->net_log().source().id);
+ }
+ }
+}
+
} // namespace
} // namespace net
« no previous file with comments | « net/base/net_log_util.cc ('k') | net/base/net_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698