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

Side by Side Diff: chrome/renderer/extensions/extension_localization_peer_unittest.cc

Issue 138513002: Plumb network stack information about existence of cached copy (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Incorporated comments from Matt & Ricardo. Created 6 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
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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "chrome/common/extensions/message_bundle.h" 9 #include "chrome/common/extensions/message_bundle.h"
10 #include "chrome/renderer/extensions/extension_localization_peer.h" 10 #include "chrome/renderer/extensions/extension_localization_peer.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 const GURL& new_url, 61 const GURL& new_url,
62 const webkit_glue::ResourceResponseInfo& info, 62 const webkit_glue::ResourceResponseInfo& info,
63 bool* has_new_first_party_for_cookies, 63 bool* has_new_first_party_for_cookies,
64 GURL* new_first_party_for_cookies)); 64 GURL* new_first_party_for_cookies));
65 MOCK_METHOD1(OnReceivedResponse, void( 65 MOCK_METHOD1(OnReceivedResponse, void(
66 const webkit_glue::ResourceResponseInfo& info)); 66 const webkit_glue::ResourceResponseInfo& info));
67 MOCK_METHOD2(OnDownloadedData, void(int len, int encoded_data_length)); 67 MOCK_METHOD2(OnDownloadedData, void(int len, int encoded_data_length));
68 MOCK_METHOD3(OnReceivedData, void(const char* data, 68 MOCK_METHOD3(OnReceivedData, void(const char* data,
69 int data_length, 69 int data_length,
70 int encoded_data_length)); 70 int encoded_data_length));
71 MOCK_METHOD4(OnCompletedRequest, void( 71 MOCK_METHOD5(OnCompletedRequest, void(
72 int error_code, 72 int error_code,
73 bool was_ignored_by_handler, 73 bool was_ignored_by_handler,
74 bool stale_copy_in_cache,
74 const std::string& security_info, 75 const std::string& security_info,
75 const base::TimeTicks& completion_time)); 76 const base::TimeTicks& completion_time));
76 77
77 private: 78 private:
78 DISALLOW_COPY_AND_ASSIGN(MockResourceLoaderBridgePeer); 79 DISALLOW_COPY_AND_ASSIGN(MockResourceLoaderBridgePeer);
79 }; 80 };
80 81
81 class ExtensionLocalizationPeerTest : public testing::Test { 82 class ExtensionLocalizationPeerTest : public testing::Test {
82 protected: 83 protected:
83 virtual void SetUp() { 84 virtual void SetUp() {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 } 136 }
136 137
137 MATCHER_P(IsURLRequestEqual, status, "") { return arg.status() == status; } 138 MATCHER_P(IsURLRequestEqual, status, "") { return arg.status() == status; }
138 139
139 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestBadURLRequestStatus) { 140 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestBadURLRequestStatus) {
140 // It will self-delete once it exits OnCompletedRequest. 141 // It will self-delete once it exits OnCompletedRequest.
141 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); 142 ExtensionLocalizationPeer* filter_peer = filter_peer_.release();
142 143
143 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 144 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
144 EXPECT_CALL(*original_peer_, OnCompletedRequest( 145 EXPECT_CALL(*original_peer_, OnCompletedRequest(
145 net::ERR_ABORTED, false, "", base::TimeTicks())); 146 net::ERR_ABORTED, false, false, "", base::TimeTicks()));
146 147
147 filter_peer->OnCompletedRequest( 148 filter_peer->OnCompletedRequest(
148 net::ERR_FAILED, false, std::string(), base::TimeTicks()); 149 net::ERR_FAILED, false, false, std::string(), base::TimeTicks());
149 } 150 }
150 151
151 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestEmptyData) { 152 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestEmptyData) {
152 // It will self-delete once it exits OnCompletedRequest. 153 // It will self-delete once it exits OnCompletedRequest.
153 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); 154 ExtensionLocalizationPeer* filter_peer = filter_peer_.release();
154 155
155 EXPECT_CALL(*original_peer_, OnReceivedData(_, _, _)).Times(0); 156 EXPECT_CALL(*original_peer_, OnReceivedData(_, _, _)).Times(0);
156 EXPECT_CALL(*sender_, Send(_)).Times(0); 157 EXPECT_CALL(*sender_, Send(_)).Times(0);
157 158
158 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 159 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
159 EXPECT_CALL(*original_peer_, OnCompletedRequest( 160 EXPECT_CALL(*original_peer_, OnCompletedRequest(
160 net::OK, false, "", base::TimeTicks())); 161 net::OK, false, false, "", base::TimeTicks()));
161 162
162 filter_peer->OnCompletedRequest( 163 filter_peer->OnCompletedRequest(
163 net::OK, false, std::string(), base::TimeTicks()); 164 net::OK, false, false, std::string(), base::TimeTicks());
164 } 165 }
165 166
166 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestNoCatalogs) { 167 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestNoCatalogs) {
167 // It will self-delete once it exits OnCompletedRequest. 168 // It will self-delete once it exits OnCompletedRequest.
168 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); 169 ExtensionLocalizationPeer* filter_peer = filter_peer_.release();
169 170
170 SetData(filter_peer, "some text"); 171 SetData(filter_peer, "some text");
171 172
172 EXPECT_CALL(*sender_, Send(_)); 173 EXPECT_CALL(*sender_, Send(_));
173 174
174 std::string data = GetData(filter_peer); 175 std::string data = GetData(filter_peer);
175 EXPECT_CALL(*original_peer_, 176 EXPECT_CALL(*original_peer_,
176 OnReceivedData(StrEq(data.data()), data.length(), -1)).Times(2); 177 OnReceivedData(StrEq(data.data()), data.length(), -1)).Times(2);
177 178
178 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(2); 179 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(2);
179 EXPECT_CALL(*original_peer_, OnCompletedRequest( 180 EXPECT_CALL(*original_peer_, OnCompletedRequest(
180 net::OK, false, "", base::TimeTicks())).Times(2); 181 net::OK, false, false, "", base::TimeTicks())).Times(2);
181 182
182 filter_peer->OnCompletedRequest( 183 filter_peer->OnCompletedRequest(
183 net::OK, false, std::string(), base::TimeTicks()); 184 net::OK, false, false, std::string(), base::TimeTicks());
184 185
185 // Test if Send gets called again (it shouldn't be) when first call returned 186 // Test if Send gets called again (it shouldn't be) when first call returned
186 // an empty dictionary. 187 // an empty dictionary.
187 filter_peer = 188 filter_peer =
188 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1)); 189 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1));
189 SetData(filter_peer, "some text"); 190 SetData(filter_peer, "some text");
190 filter_peer->OnCompletedRequest( 191 filter_peer->OnCompletedRequest(
191 net::OK, false, std::string(), base::TimeTicks()); 192 net::OK, false, false, std::string(), base::TimeTicks());
192 } 193 }
193 194
194 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestWithCatalogs) { 195 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestWithCatalogs) {
195 // It will self-delete once it exits OnCompletedRequest. 196 // It will self-delete once it exits OnCompletedRequest.
196 ExtensionLocalizationPeer* filter_peer = 197 ExtensionLocalizationPeer* filter_peer =
197 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_2)); 198 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_2));
198 199
199 extensions::L10nMessagesMap messages; 200 extensions::L10nMessagesMap messages;
200 messages.insert(std::make_pair("text", "new text")); 201 messages.insert(std::make_pair("text", "new text"));
201 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = 202 extensions::ExtensionToL10nMessagesMap& l10n_messages_map =
202 *extensions::GetExtensionToL10nMessagesMap(); 203 *extensions::GetExtensionToL10nMessagesMap();
203 l10n_messages_map["some_id2"] = messages; 204 l10n_messages_map["some_id2"] = messages;
204 205
205 SetData(filter_peer, "some __MSG_text__"); 206 SetData(filter_peer, "some __MSG_text__");
206 207
207 // We already have messages in memory, Send will be skipped. 208 // We already have messages in memory, Send will be skipped.
208 EXPECT_CALL(*sender_, Send(_)).Times(0); 209 EXPECT_CALL(*sender_, Send(_)).Times(0);
209 210
210 // __MSG_text__ gets replaced with "new text". 211 // __MSG_text__ gets replaced with "new text".
211 std::string data("some new text"); 212 std::string data("some new text");
212 EXPECT_CALL(*original_peer_, 213 EXPECT_CALL(*original_peer_,
213 OnReceivedData(StrEq(data.data()), data.length(), -1)); 214 OnReceivedData(StrEq(data.data()), data.length(), -1));
214 215
215 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 216 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
216 EXPECT_CALL(*original_peer_, OnCompletedRequest( 217 EXPECT_CALL(*original_peer_, OnCompletedRequest(
217 net::OK, false, "", base::TimeTicks())); 218 net::OK, false, false, "", base::TimeTicks()));
218 219
219 filter_peer->OnCompletedRequest( 220 filter_peer->OnCompletedRequest(
220 net::OK, false, std::string(), base::TimeTicks()); 221 net::OK, false, false, std::string(), base::TimeTicks());
221 } 222 }
222 223
223 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestReplaceMessagesFails) { 224 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestReplaceMessagesFails) {
224 // It will self-delete once it exits OnCompletedRequest. 225 // It will self-delete once it exits OnCompletedRequest.
225 ExtensionLocalizationPeer* filter_peer = 226 ExtensionLocalizationPeer* filter_peer =
226 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_3)); 227 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_3));
227 228
228 extensions::L10nMessagesMap messages; 229 extensions::L10nMessagesMap messages;
229 messages.insert(std::make_pair("text", "new text")); 230 messages.insert(std::make_pair("text", "new text"));
230 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = 231 extensions::ExtensionToL10nMessagesMap& l10n_messages_map =
231 *extensions::GetExtensionToL10nMessagesMap(); 232 *extensions::GetExtensionToL10nMessagesMap();
232 l10n_messages_map["some_id3"] = messages; 233 l10n_messages_map["some_id3"] = messages;
233 234
234 std::string message("some __MSG_missing_message__"); 235 std::string message("some __MSG_missing_message__");
235 SetData(filter_peer, message); 236 SetData(filter_peer, message);
236 237
237 // We already have messages in memory, Send will be skipped. 238 // We already have messages in memory, Send will be skipped.
238 EXPECT_CALL(*sender_, Send(_)).Times(0); 239 EXPECT_CALL(*sender_, Send(_)).Times(0);
239 240
240 // __MSG_missing_message__ is missing, so message stays the same. 241 // __MSG_missing_message__ is missing, so message stays the same.
241 EXPECT_CALL(*original_peer_, 242 EXPECT_CALL(*original_peer_,
242 OnReceivedData(StrEq(message.data()), message.length(), -1)); 243 OnReceivedData(StrEq(message.data()), message.length(), -1));
243 244
244 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 245 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
245 EXPECT_CALL(*original_peer_, OnCompletedRequest( 246 EXPECT_CALL(*original_peer_, OnCompletedRequest(
246 net::OK, false, "", base::TimeTicks())); 247 net::OK, false, false, "", base::TimeTicks()));
247 248
248 filter_peer->OnCompletedRequest( 249 filter_peer->OnCompletedRequest(
249 net::OK, false, std::string(), base::TimeTicks()); 250 net::OK, false, false, std::string(), base::TimeTicks());
250 } 251 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698