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

Side by Side Diff: content/browser/web_contents/web_contents_impl_browsertest.cc

Issue 14914010: GTTF: Convert WebContentsImplBrowserTest to use EmbeddedTestServer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 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 | Annotate | Revision Log
« no previous file with comments | « build/android/pylib/gtest/test_runner.py ('k') | content/public/test/browser_test_base.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "base/values.h" 5 #include "base/values.h"
6 #include "content/browser/renderer_host/render_view_host_impl.h" 6 #include "content/browser/renderer_host/render_view_host_impl.h"
7 #include "content/browser/web_contents/web_contents_impl.h" 7 #include "content/browser/web_contents/web_contents_impl.h"
8 #include "content/public/browser/load_notification_details.h" 8 #include "content/public/browser/load_notification_details.h"
9 #include "content/public/browser/navigation_controller.h" 9 #include "content/public/browser/navigation_controller.h"
10 #include "content/public/browser/notification_details.h" 10 #include "content/public/browser/notification_details.h"
11 #include "content/public/browser/notification_observer.h" 11 #include "content/public/browser/notification_observer.h"
12 #include "content/public/browser/notification_types.h" 12 #include "content/public/browser/notification_types.h"
13 #include "content/public/common/content_paths.h"
13 #include "content/public/test/browser_test_utils.h" 14 #include "content/public/test/browser_test_utils.h"
14 #include "content/public/test/test_utils.h" 15 #include "content/public/test/test_utils.h"
15 #include "content/shell/shell.h" 16 #include "content/shell/shell.h"
16 #include "content/test/content_browser_test.h" 17 #include "content/test/content_browser_test.h"
17 #include "content/test/content_browser_test_utils.h" 18 #include "content/test/content_browser_test_utils.h"
19 #include "net/test/embedded_test_server/embedded_test_server.h"
18 #include "net/test/spawned_test_server/spawned_test_server.h" 20 #include "net/test/spawned_test_server/spawned_test_server.h"
19 21
20 namespace content { 22 namespace content {
21 23
22 class WebContentsImplBrowserTest : public ContentBrowserTest { 24 class WebContentsImplBrowserTest : public ContentBrowserTest {
23 public: 25 public:
24 WebContentsImplBrowserTest() {} 26 WebContentsImplBrowserTest() {}
25 27
26 private: 28 private:
27 DISALLOW_COPY_AND_ASSIGN(WebContentsImplBrowserTest); 29 DISALLOW_COPY_AND_ASSIGN(WebContentsImplBrowserTest);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 WindowedNotificationObserver::Observe(type, source, details); 80 WindowedNotificationObserver::Observe(type, source, details);
79 } 81 }
80 82
81 Shell* shell_; 83 Shell* shell_;
82 GURL url_; 84 GURL url_;
83 bool done_; 85 bool done_;
84 }; 86 };
85 87
86 // Test that DidStopLoading includes the correct URL in the details. 88 // Test that DidStopLoading includes the correct URL in the details.
87 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, DidStopLoadingDetails) { 89 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, DidStopLoadingDetails) {
88 ASSERT_TRUE(test_server()->Start()); 90 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
89 91
90 LoadStopNotificationObserver load_observer( 92 LoadStopNotificationObserver load_observer(
91 &shell()->web_contents()->GetController()); 93 &shell()->web_contents()->GetController());
92 NavigateToURL(shell(), test_server()->GetURL("files/title1.html")); 94 NavigateToURL(shell(), embedded_test_server()->GetURL("/title1.html"));
93 load_observer.Wait(); 95 load_observer.Wait();
94 96
95 EXPECT_EQ("/files/title1.html", load_observer.url_.path()); 97 EXPECT_EQ("/title1.html", load_observer.url_.path());
96 EXPECT_EQ(0, load_observer.session_index_); 98 EXPECT_EQ(0, load_observer.session_index_);
97 EXPECT_EQ(&shell()->web_contents()->GetController(), 99 EXPECT_EQ(&shell()->web_contents()->GetController(),
98 load_observer.controller_); 100 load_observer.controller_);
99 } 101 }
100 102
101 // Test that DidStopLoading includes the correct URL in the details when a 103 // Test that DidStopLoading includes the correct URL in the details when a
102 // pending entry is present. 104 // pending entry is present.
103 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, 105 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest,
104 DidStopLoadingDetailsWithPending) { 106 DidStopLoadingDetailsWithPending) {
105 ASSERT_TRUE(test_server()->Start()); 107 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
106 108
107 // Listen for the first load to stop. 109 // Listen for the first load to stop.
108 LoadStopNotificationObserver load_observer( 110 LoadStopNotificationObserver load_observer(
109 &shell()->web_contents()->GetController()); 111 &shell()->web_contents()->GetController());
110 // Start a new pending navigation as soon as the first load commits. 112 // Start a new pending navigation as soon as the first load commits.
111 // We will hear a DidStopLoading from the first load as the new load 113 // We will hear a DidStopLoading from the first load as the new load
112 // is started. 114 // is started.
113 NavigateOnCommitObserver commit_observer( 115 NavigateOnCommitObserver commit_observer(
114 shell(), test_server()->GetURL("files/title2.html")); 116 shell(), embedded_test_server()->GetURL("/title2.html"));
115 NavigateToURL(shell(), test_server()->GetURL("files/title1.html")); 117 NavigateToURL(shell(), embedded_test_server()->GetURL("/title1.html"));
116 commit_observer.Wait(); 118 commit_observer.Wait();
117 load_observer.Wait(); 119 load_observer.Wait();
118 120
119 EXPECT_EQ("/files/title1.html", load_observer.url_.path()); 121 EXPECT_EQ("/title1.html", load_observer.url_.path());
120 EXPECT_EQ(0, load_observer.session_index_); 122 EXPECT_EQ(0, load_observer.session_index_);
121 EXPECT_EQ(&shell()->web_contents()->GetController(), 123 EXPECT_EQ(&shell()->web_contents()->GetController(),
122 load_observer.controller_); 124 load_observer.controller_);
123 } 125 }
124 126
125 // Test that the browser receives the proper frame attach/detach messages from 127 // Test that the browser receives the proper frame attach/detach messages from
126 // the renderer and builds proper frame tree. 128 // the renderer and builds proper frame tree.
127 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, FrameTree) { 129 IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, FrameTree) {
128 ASSERT_TRUE(test_server()->Start()); 130 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
129 131
130 NavigateToURL(shell(), test_server()->GetURL("files/frame_tree/top.html")); 132 NavigateToURL(shell(),
133 embedded_test_server()->GetURL("/frame_tree/top.html"));
131 134
132 WebContentsImpl* wc = static_cast<WebContentsImpl*>(shell()->web_contents()); 135 WebContentsImpl* wc = static_cast<WebContentsImpl*>(shell()->web_contents());
133 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( 136 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
134 wc->GetRenderViewHost()); 137 wc->GetRenderViewHost());
135 FrameTreeNode* root = wc->GetFrameTreeRootForTesting(); 138 FrameTreeNode* root = wc->GetFrameTreeRootForTesting();
136 139
137 // Check that the root node is properly created with the frame id of the 140 // Check that the root node is properly created with the frame id of the
138 // initial navigation. 141 // initial navigation.
139 EXPECT_EQ(3UL, root->child_count()); 142 EXPECT_EQ(3UL, root->child_count());
140 EXPECT_EQ(std::string(), root->frame_name()); 143 EXPECT_EQ(std::string(), root->frame_name());
141 EXPECT_EQ(rvh->main_frame_id(), root->frame_id()); 144 EXPECT_EQ(rvh->main_frame_id(), root->frame_id());
142 145
143 EXPECT_EQ(2UL, root->child_at(0)->child_count()); 146 EXPECT_EQ(2UL, root->child_at(0)->child_count());
144 EXPECT_STREQ("1-1-name", root->child_at(0)->frame_name().c_str()); 147 EXPECT_STREQ("1-1-name", root->child_at(0)->frame_name().c_str());
145 148
146 // Verify the deepest node exists and has the right name. 149 // Verify the deepest node exists and has the right name.
147 EXPECT_EQ(2UL, root->child_at(2)->child_count()); 150 EXPECT_EQ(2UL, root->child_at(2)->child_count());
148 EXPECT_EQ(1UL, root->child_at(2)->child_at(1)->child_count()); 151 EXPECT_EQ(1UL, root->child_at(2)->child_at(1)->child_count());
149 EXPECT_EQ(0UL, root->child_at(2)->child_at(1)->child_at(0)->child_count()); 152 EXPECT_EQ(0UL, root->child_at(2)->child_at(1)->child_at(0)->child_count());
150 EXPECT_STREQ("3-1-id", 153 EXPECT_STREQ("3-1-id",
151 root->child_at(2)->child_at(1)->child_at(0)->frame_name().c_str()); 154 root->child_at(2)->child_at(1)->child_at(0)->frame_name().c_str());
152 155
153 // Navigate to about:blank, which should leave only the root node of the frame 156 // Navigate to about:blank, which should leave only the root node of the frame
154 // tree in the browser process. 157 // tree in the browser process.
155 NavigateToURL(shell(), test_server()->GetURL("files/title1.html")); 158 NavigateToURL(shell(), embedded_test_server()->GetURL("/title1.html"));
156 159
157 root = wc->GetFrameTreeRootForTesting(); 160 root = wc->GetFrameTreeRootForTesting();
158 EXPECT_EQ(0UL, root->child_count()); 161 EXPECT_EQ(0UL, root->child_count());
159 EXPECT_EQ(std::string(), root->frame_name()); 162 EXPECT_EQ(std::string(), root->frame_name());
160 EXPECT_EQ(rvh->main_frame_id(), root->frame_id()); 163 EXPECT_EQ(rvh->main_frame_id(), root->frame_id());
161 } 164 }
162 165
163 } // namespace content 166 } // namespace content
OLDNEW
« no previous file with comments | « build/android/pylib/gtest/test_runner.py ('k') | content/public/test/browser_test_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698