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

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

Issue 2835123005: Send the decoded size when response completed and stop summing in ResourceLoader::DidReceiveData() (Closed)
Patch Set: Created 3 years, 8 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
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 "chrome/renderer/extensions/extension_localization_peer.h" 5 #include "chrome/renderer/extensions/extension_localization_peer.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 const content::ResourceResponseInfo& info)); 69 const content::ResourceResponseInfo& info));
70 MOCK_METHOD1(OnReceivedResponse, 70 MOCK_METHOD1(OnReceivedResponse,
71 void(const content::ResourceResponseInfo& info)); 71 void(const content::ResourceResponseInfo& info));
72 MOCK_METHOD2(OnDownloadedData, void(int len, int encoded_data_length)); 72 MOCK_METHOD2(OnDownloadedData, void(int len, int encoded_data_length));
73 void OnReceivedData( 73 void OnReceivedData(
74 std::unique_ptr<RequestPeer::ReceivedData> data) override { 74 std::unique_ptr<RequestPeer::ReceivedData> data) override {
75 OnReceivedDataInternal(data->payload(), data->length()); 75 OnReceivedDataInternal(data->payload(), data->length());
76 } 76 }
77 MOCK_METHOD2(OnReceivedDataInternal, void(const char* data, int data_length)); 77 MOCK_METHOD2(OnReceivedDataInternal, void(const char* data, int data_length));
78 MOCK_METHOD1(OnTransferSizeUpdated, void(int transfer_size_diff)); 78 MOCK_METHOD1(OnTransferSizeUpdated, void(int transfer_size_diff));
79 MOCK_METHOD6(OnCompletedRequest, 79 MOCK_METHOD7(OnCompletedRequest,
80 void(int error_code, 80 void(int error_code,
81 bool was_ignored_by_handler, 81 bool was_ignored_by_handler,
82 bool stale_copy_in_cache, 82 bool stale_copy_in_cache,
83 const base::TimeTicks& completion_time, 83 const base::TimeTicks& completion_time,
84 int64_t total_transfer_size, 84 int64_t total_transfer_size,
85 int64_t encoded_body_size)); 85 int64_t encoded_body_size,
86 int64_t decoded_body_size));
86 87
87 private: 88 private:
88 DISALLOW_COPY_AND_ASSIGN(MockRequestPeer); 89 DISALLOW_COPY_AND_ASSIGN(MockRequestPeer);
89 }; 90 };
90 91
91 } // namespace 92 } // namespace
92 93
93 class ExtensionLocalizationPeerTest : public testing::Test { 94 class ExtensionLocalizationPeerTest : public testing::Test {
94 protected: 95 protected:
95 void SetUp() override { 96 void SetUp() override {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 } 147 }
147 148
148 MATCHER_P(IsURLRequestEqual, status, "") { return arg.status() == status; } 149 MATCHER_P(IsURLRequestEqual, status, "") { return arg.status() == status; }
149 150
150 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestBadURLRequestStatus) { 151 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestBadURLRequestStatus) {
151 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1)); 152 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1));
152 153
153 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 154 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
154 EXPECT_CALL(*original_peer_, 155 EXPECT_CALL(*original_peer_,
155 OnCompletedRequest(net::ERR_ABORTED, false, false, 156 OnCompletedRequest(net::ERR_ABORTED, false, false,
156 base::TimeTicks(), -1, 0)); 157 base::TimeTicks(), -1, 0, 0));
157 158
158 filter_peer_->OnCompletedRequest(net::ERR_FAILED, false, false, 159 filter_peer_->OnCompletedRequest(net::ERR_FAILED, false, false,
159 base::TimeTicks(), -1, 0); 160 base::TimeTicks(), -1, 0, 0);
160 } 161 }
161 162
162 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestEmptyData) { 163 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestEmptyData) {
163 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1)); 164 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1));
164 165
165 EXPECT_CALL(*original_peer_, OnReceivedDataInternal(_, _)).Times(0); 166 EXPECT_CALL(*original_peer_, OnReceivedDataInternal(_, _)).Times(0);
166 EXPECT_CALL(*sender_, Send(_)).Times(0); 167 EXPECT_CALL(*sender_, Send(_)).Times(0);
167 168
168 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 169 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
169 EXPECT_CALL(*original_peer_, OnCompletedRequest(net::OK, false, false, 170 EXPECT_CALL(*original_peer_, OnCompletedRequest(net::OK, false, false,
170 base::TimeTicks(), -1, 0)); 171 base::TimeTicks(), -1, 0, 0));
171 172
172 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, 173 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1,
173 0); 174 0, 0);
174 } 175 }
175 176
176 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestNoCatalogs) { 177 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestNoCatalogs) {
177 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1)); 178 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1));
178 179
179 SetData("some text"); 180 SetData("some text");
180 181
181 EXPECT_CALL(*sender_, Send(_)); 182 EXPECT_CALL(*sender_, Send(_));
182 183
183 std::string data = GetData(); 184 std::string data = GetData();
184 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(1); 185 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(1);
185 EXPECT_CALL(*original_peer_, 186 EXPECT_CALL(*original_peer_,
186 OnReceivedDataInternal(StrEq(data.c_str()), data.length())) 187 OnReceivedDataInternal(StrEq(data.c_str()), data.length()))
187 .Times(1); 188 .Times(1);
188 EXPECT_CALL(*original_peer_, OnCompletedRequest(net::OK, false, false, 189 EXPECT_CALL(
189 base::TimeTicks(), -1, -1)) 190 *original_peer_,
191 OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, -1, -1))
190 .Times(1); 192 .Times(1);
191 193
192 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, 194 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1,
193 -1); 195 -1, -1);
194 196
195 // Test if Send gets called again (it shouldn't be) when first call returned 197 // Test if Send gets called again (it shouldn't be) when first call returned
196 // an empty dictionary. 198 // an empty dictionary.
197 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1)); 199 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1));
198 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(1); 200 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(1);
199 EXPECT_CALL(*original_peer_, 201 EXPECT_CALL(*original_peer_,
200 OnReceivedDataInternal(StrEq(data.c_str()), data.length())) 202 OnReceivedDataInternal(StrEq(data.c_str()), data.length()))
201 .Times(1); 203 .Times(1);
202 EXPECT_CALL(*original_peer_, OnCompletedRequest(net::OK, false, false, 204 EXPECT_CALL(
203 base::TimeTicks(), -1, -1)) 205 *original_peer_,
206 OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, -1, -1))
204 .Times(1); 207 .Times(1);
205 SetData("some text"); 208 SetData("some text");
206 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, 209 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1,
207 -1); 210 -1, -1);
208 } 211 }
209 212
210 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestWithCatalogs) { 213 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestWithCatalogs) {
211 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_2)); 214 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_2));
212 215
213 extensions::L10nMessagesMap messages; 216 extensions::L10nMessagesMap messages;
214 messages.insert(std::make_pair("text", "new text")); 217 messages.insert(std::make_pair("text", "new text"));
215 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = 218 extensions::ExtensionToL10nMessagesMap& l10n_messages_map =
216 *extensions::GetExtensionToL10nMessagesMap(); 219 *extensions::GetExtensionToL10nMessagesMap();
217 l10n_messages_map["some_id2"] = messages; 220 l10n_messages_map["some_id2"] = messages;
218 221
219 SetData("some __MSG_text__"); 222 SetData("some __MSG_text__");
220 223
221 // We already have messages in memory, Send will be skipped. 224 // We already have messages in memory, Send will be skipped.
222 EXPECT_CALL(*sender_, Send(_)).Times(0); 225 EXPECT_CALL(*sender_, Send(_)).Times(0);
223 226
224 // __MSG_text__ gets replaced with "new text". 227 // __MSG_text__ gets replaced with "new text".
225 std::string data("some new text"); 228 std::string data("some new text");
226 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 229 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
227 EXPECT_CALL(*original_peer_, 230 EXPECT_CALL(*original_peer_,
228 OnReceivedDataInternal(StrEq(data.c_str()), data.length())); 231 OnReceivedDataInternal(StrEq(data.c_str()), data.length()));
229 232
230 EXPECT_CALL(*original_peer_, OnCompletedRequest(net::OK, false, false, 233 EXPECT_CALL(
231 base::TimeTicks(), -1, -1)); 234 *original_peer_,
235 OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, -1, -1));
232 236
233 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, 237 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1,
234 -1); 238 -1, -1);
235 } 239 }
236 240
237 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestReplaceMessagesFails) { 241 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestReplaceMessagesFails) {
238 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_3)); 242 SetUpExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_3));
239 243
240 extensions::L10nMessagesMap messages; 244 extensions::L10nMessagesMap messages;
241 messages.insert(std::make_pair("text", "new text")); 245 messages.insert(std::make_pair("text", "new text"));
242 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = 246 extensions::ExtensionToL10nMessagesMap& l10n_messages_map =
243 *extensions::GetExtensionToL10nMessagesMap(); 247 *extensions::GetExtensionToL10nMessagesMap();
244 l10n_messages_map["some_id3"] = messages; 248 l10n_messages_map["some_id3"] = messages;
245 249
246 std::string message("some __MSG_missing_message__"); 250 std::string message("some __MSG_missing_message__");
247 SetData(message); 251 SetData(message);
248 252
249 // We already have messages in memory, Send will be skipped. 253 // We already have messages in memory, Send will be skipped.
250 EXPECT_CALL(*sender_, Send(_)).Times(0); 254 EXPECT_CALL(*sender_, Send(_)).Times(0);
251 255
252 // __MSG_missing_message__ is missing, so message stays the same. 256 // __MSG_missing_message__ is missing, so message stays the same.
253 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); 257 EXPECT_CALL(*original_peer_, OnReceivedResponse(_));
254 EXPECT_CALL(*original_peer_, 258 EXPECT_CALL(*original_peer_,
255 OnReceivedDataInternal(StrEq(message.c_str()), message.length())); 259 OnReceivedDataInternal(StrEq(message.c_str()), message.length()));
256 260
257 EXPECT_CALL(*original_peer_, OnCompletedRequest(net::OK, false, false, 261 EXPECT_CALL(*original_peer_, OnCompletedRequest(net::OK, false, false,
258 base::TimeTicks(), -1, 0)); 262 base::TimeTicks(), -1, 0, 0));
259 263
260 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1, 264 filter_peer_->OnCompletedRequest(net::OK, false, false, base::TimeTicks(), -1,
261 0); 265 0, 0);
262 } 266 }
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/extension_localization_peer.cc ('k') | chrome/renderer/security_filter_peer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698