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

Side by Side Diff: chrome/renderer/render_view_unittest.cc

Issue 18326: Factor out the message sink from MockRenderThread to a separate class. I will... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 11 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 | « chrome/renderer/mock_render_thread.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2008 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/scoped_ptr.h" 5 #include "base/scoped_ptr.h"
6 #include "chrome/renderer/mock_render_process.h" 6 #include "chrome/renderer/mock_render_process.h"
7 #include "chrome/renderer/mock_render_thread.h" 7 #include "chrome/renderer/mock_render_thread.h"
8 #include "chrome/renderer/render_view.h" 8 #include "chrome/renderer/render_view.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "webkit/glue/webframe.h" 10 #include "webkit/glue/webframe.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 } // namespace 87 } // namespace
88 88
89 TEST_F(RenderViewTest, OnLoadAlternateHTMLText) { 89 TEST_F(RenderViewTest, OnLoadAlternateHTMLText) {
90 // Test a new navigation. 90 // Test a new navigation.
91 GURL test_url("http://www.google.com/some_test_url"); 91 GURL test_url("http://www.google.com/some_test_url");
92 view_->OnLoadAlternateHTMLText("<html></html>", true, test_url, 92 view_->OnLoadAlternateHTMLText("<html></html>", true, test_url,
93 std::string()); 93 std::string());
94 94
95 // We should have gotten two different types of start messages in the 95 // We should have gotten two different types of start messages in the
96 // following order. 96 // following order.
97 ASSERT_EQ(2, render_thread_.message_count()); 97 ASSERT_EQ(2, render_thread_.sink().message_count());
98 const IPC::Message* msg = render_thread_.GetMessageAt(0); 98 const IPC::Message* msg = render_thread_.sink().GetMessageAt(0);
99 EXPECT_EQ(ViewHostMsg_DidStartLoading::ID, msg->type()); 99 EXPECT_EQ(ViewHostMsg_DidStartLoading::ID, msg->type());
100 100
101 msg = render_thread_.GetMessageAt(1); 101 msg = render_thread_.sink().GetMessageAt(1);
102 EXPECT_EQ(ViewHostMsg_DidStartProvisionalLoadForFrame::ID, msg->type()); 102 EXPECT_EQ(ViewHostMsg_DidStartProvisionalLoadForFrame::ID, msg->type());
103 ViewHostMsg_DidStartProvisionalLoadForFrame::Param start_params; 103 ViewHostMsg_DidStartProvisionalLoadForFrame::Param start_params;
104 ViewHostMsg_DidStartProvisionalLoadForFrame::Read(msg, &start_params); 104 ViewHostMsg_DidStartProvisionalLoadForFrame::Read(msg, &start_params);
105 EXPECT_EQ(GURL("chrome://chromewebdata/"), start_params.b); 105 EXPECT_EQ(GURL("chrome://chromewebdata/"), start_params.b);
106 } 106 }
107 107
108 // Test that we get form state change notifications when input fields change. 108 // Test that we get form state change notifications when input fields change.
109 TEST_F(RenderViewTest, OnNavStateChanged) { 109 TEST_F(RenderViewTest, OnNavStateChanged) {
110 // Don't want any delay for form state sync changes. This will still post a 110 // Don't want any delay for form state sync changes. This will still post a
111 // message so updates will get coalesced, but as soon as we spin the message 111 // message so updates will get coalesced, but as soon as we spin the message
112 // loop, it will generate an update. 112 // loop, it will generate an update.
113 view_->set_delay_seconds_for_form_state_sync(0); 113 view_->set_delay_seconds_for_form_state_sync(0);
114 114
115 LoadHTML("<input type=\"text\" id=\"elt_text\"></input>"); 115 LoadHTML("<input type=\"text\" id=\"elt_text\"></input>");
116 116
117 // We should NOT have gotten a form state change notification yet. 117 // We should NOT have gotten a form state change notification yet.
118 EXPECT_FALSE(render_thread_.GetFirstMessageMatching( 118 EXPECT_FALSE(render_thread_.sink().GetFirstMessageMatching(
119 ViewHostMsg_UpdateState::ID)); 119 ViewHostMsg_UpdateState::ID));
120 render_thread_.ClearMessages(); 120 render_thread_.sink().ClearMessages();
121 121
122 // Change the value of the input. We should have gotten an update state 122 // Change the value of the input. We should have gotten an update state
123 // notification. We need to spin the message loop to catch this update. 123 // notification. We need to spin the message loop to catch this update.
124 ExecuteJavaScript("document.getElementById('elt_text').value = 'foo';"); 124 ExecuteJavaScript("document.getElementById('elt_text').value = 'foo';");
125 ProcessPendingMessages(); 125 ProcessPendingMessages();
126 EXPECT_TRUE(render_thread_.GetUniqueMessageMatching( 126 EXPECT_TRUE(render_thread_.sink().GetUniqueMessageMatching(
127 ViewHostMsg_UpdateState::ID)); 127 ViewHostMsg_UpdateState::ID));
128 } 128 }
OLDNEW
« no previous file with comments | « chrome/renderer/mock_render_thread.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698