| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/extension_localization_peer.h" | 9 #include "chrome/common/extensions/extension_localization_peer.h" |
| 10 #include "chrome/common/extensions/message_bundle.h" | 10 #include "chrome/common/extensions/message_bundle.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 MATCHER_P(IsURLRequestEqual, status, "") { return arg.status() == status; } | 137 MATCHER_P(IsURLRequestEqual, status, "") { return arg.status() == status; } |
| 138 | 138 |
| 139 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestBadURLRequestStatus) { | 139 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestBadURLRequestStatus) { |
| 140 // It will self-delete once it exits OnCompletedRequest. | 140 // It will self-delete once it exits OnCompletedRequest. |
| 141 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); | 141 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); |
| 142 | 142 |
| 143 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); | 143 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); |
| 144 EXPECT_CALL(*original_peer_, OnCompletedRequest( | 144 EXPECT_CALL(*original_peer_, OnCompletedRequest( |
| 145 net::ERR_ABORTED, false, "", base::TimeTicks())); | 145 net::ERR_ABORTED, false, "", base::TimeTicks())); |
| 146 | 146 |
| 147 filter_peer->OnCompletedRequest(net::ERR_FAILED, false, "", | 147 filter_peer->OnCompletedRequest( |
| 148 base::TimeTicks()); | 148 net::ERR_FAILED, false, std::string(), base::TimeTicks()); |
| 149 } | 149 } |
| 150 | 150 |
| 151 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestEmptyData) { | 151 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestEmptyData) { |
| 152 // It will self-delete once it exits OnCompletedRequest. | 152 // It will self-delete once it exits OnCompletedRequest. |
| 153 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); | 153 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); |
| 154 | 154 |
| 155 EXPECT_CALL(*original_peer_, OnReceivedData(_, _, _)).Times(0); | 155 EXPECT_CALL(*original_peer_, OnReceivedData(_, _, _)).Times(0); |
| 156 EXPECT_CALL(*sender_, Send(_)).Times(0); | 156 EXPECT_CALL(*sender_, Send(_)).Times(0); |
| 157 | 157 |
| 158 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); | 158 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); |
| 159 EXPECT_CALL(*original_peer_, OnCompletedRequest( | 159 EXPECT_CALL(*original_peer_, OnCompletedRequest( |
| 160 net::OK, false, "", base::TimeTicks())); | 160 net::OK, false, "", base::TimeTicks())); |
| 161 | 161 |
| 162 filter_peer->OnCompletedRequest(net::OK, false, "", base::TimeTicks()); | 162 filter_peer->OnCompletedRequest( |
| 163 net::OK, false, std::string(), base::TimeTicks()); |
| 163 } | 164 } |
| 164 | 165 |
| 165 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestNoCatalogs) { | 166 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestNoCatalogs) { |
| 166 // It will self-delete once it exits OnCompletedRequest. | 167 // It will self-delete once it exits OnCompletedRequest. |
| 167 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); | 168 ExtensionLocalizationPeer* filter_peer = filter_peer_.release(); |
| 168 | 169 |
| 169 SetData(filter_peer, "some text"); | 170 SetData(filter_peer, "some text"); |
| 170 | 171 |
| 171 EXPECT_CALL(*sender_, Send(_)); | 172 EXPECT_CALL(*sender_, Send(_)); |
| 172 | 173 |
| 173 std::string data = GetData(filter_peer); | 174 std::string data = GetData(filter_peer); |
| 174 EXPECT_CALL(*original_peer_, | 175 EXPECT_CALL(*original_peer_, |
| 175 OnReceivedData(StrEq(data.data()), data.length(), -1)).Times(2); | 176 OnReceivedData(StrEq(data.data()), data.length(), -1)).Times(2); |
| 176 | 177 |
| 177 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(2); | 178 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)).Times(2); |
| 178 EXPECT_CALL(*original_peer_, OnCompletedRequest( | 179 EXPECT_CALL(*original_peer_, OnCompletedRequest( |
| 179 net::OK, false, "", base::TimeTicks())).Times(2); | 180 net::OK, false, "", base::TimeTicks())).Times(2); |
| 180 | 181 |
| 181 filter_peer->OnCompletedRequest(net::OK, false, "", base::TimeTicks()); | 182 filter_peer->OnCompletedRequest( |
| 183 net::OK, false, std::string(), base::TimeTicks()); |
| 182 | 184 |
| 183 // Test if Send gets called again (it shouldn't be) when first call returned | 185 // Test if Send gets called again (it shouldn't be) when first call returned |
| 184 // an empty dictionary. | 186 // an empty dictionary. |
| 185 filter_peer = | 187 filter_peer = |
| 186 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1)); | 188 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_1)); |
| 187 SetData(filter_peer, "some text"); | 189 SetData(filter_peer, "some text"); |
| 188 filter_peer->OnCompletedRequest(net::OK, false, "", base::TimeTicks()); | 190 filter_peer->OnCompletedRequest( |
| 191 net::OK, false, std::string(), base::TimeTicks()); |
| 189 } | 192 } |
| 190 | 193 |
| 191 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestWithCatalogs) { | 194 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestWithCatalogs) { |
| 192 // It will self-delete once it exits OnCompletedRequest. | 195 // It will self-delete once it exits OnCompletedRequest. |
| 193 ExtensionLocalizationPeer* filter_peer = | 196 ExtensionLocalizationPeer* filter_peer = |
| 194 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_2)); | 197 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_2)); |
| 195 | 198 |
| 196 extensions::L10nMessagesMap messages; | 199 extensions::L10nMessagesMap messages; |
| 197 messages.insert(std::make_pair("text", "new text")); | 200 messages.insert(std::make_pair("text", "new text")); |
| 198 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = | 201 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = |
| 199 *extensions::GetExtensionToL10nMessagesMap(); | 202 *extensions::GetExtensionToL10nMessagesMap(); |
| 200 l10n_messages_map["some_id2"] = messages; | 203 l10n_messages_map["some_id2"] = messages; |
| 201 | 204 |
| 202 SetData(filter_peer, "some __MSG_text__"); | 205 SetData(filter_peer, "some __MSG_text__"); |
| 203 | 206 |
| 204 // We already have messages in memory, Send will be skipped. | 207 // We already have messages in memory, Send will be skipped. |
| 205 EXPECT_CALL(*sender_, Send(_)).Times(0); | 208 EXPECT_CALL(*sender_, Send(_)).Times(0); |
| 206 | 209 |
| 207 // __MSG_text__ gets replaced with "new text". | 210 // __MSG_text__ gets replaced with "new text". |
| 208 std::string data("some new text"); | 211 std::string data("some new text"); |
| 209 EXPECT_CALL(*original_peer_, | 212 EXPECT_CALL(*original_peer_, |
| 210 OnReceivedData(StrEq(data.data()), data.length(), -1)); | 213 OnReceivedData(StrEq(data.data()), data.length(), -1)); |
| 211 | 214 |
| 212 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); | 215 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); |
| 213 EXPECT_CALL(*original_peer_, OnCompletedRequest( | 216 EXPECT_CALL(*original_peer_, OnCompletedRequest( |
| 214 net::OK, false, "", base::TimeTicks())); | 217 net::OK, false, "", base::TimeTicks())); |
| 215 | 218 |
| 216 filter_peer->OnCompletedRequest(net::OK, false, "", base::TimeTicks()); | 219 filter_peer->OnCompletedRequest( |
| 220 net::OK, false, std::string(), base::TimeTicks()); |
| 217 } | 221 } |
| 218 | 222 |
| 219 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestReplaceMessagesFails) { | 223 TEST_F(ExtensionLocalizationPeerTest, OnCompletedRequestReplaceMessagesFails) { |
| 220 // It will self-delete once it exits OnCompletedRequest. | 224 // It will self-delete once it exits OnCompletedRequest. |
| 221 ExtensionLocalizationPeer* filter_peer = | 225 ExtensionLocalizationPeer* filter_peer = |
| 222 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_3)); | 226 CreateExtensionLocalizationPeer("text/css", GURL(kExtensionUrl_3)); |
| 223 | 227 |
| 224 extensions::L10nMessagesMap messages; | 228 extensions::L10nMessagesMap messages; |
| 225 messages.insert(std::make_pair("text", "new text")); | 229 messages.insert(std::make_pair("text", "new text")); |
| 226 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = | 230 extensions::ExtensionToL10nMessagesMap& l10n_messages_map = |
| 227 *extensions::GetExtensionToL10nMessagesMap(); | 231 *extensions::GetExtensionToL10nMessagesMap(); |
| 228 l10n_messages_map["some_id3"] = messages; | 232 l10n_messages_map["some_id3"] = messages; |
| 229 | 233 |
| 230 std::string message("some __MSG_missing_message__"); | 234 std::string message("some __MSG_missing_message__"); |
| 231 SetData(filter_peer, message); | 235 SetData(filter_peer, message); |
| 232 | 236 |
| 233 // We already have messages in memory, Send will be skipped. | 237 // We already have messages in memory, Send will be skipped. |
| 234 EXPECT_CALL(*sender_, Send(_)).Times(0); | 238 EXPECT_CALL(*sender_, Send(_)).Times(0); |
| 235 | 239 |
| 236 // __MSG_missing_message__ is missing, so message stays the same. | 240 // __MSG_missing_message__ is missing, so message stays the same. |
| 237 EXPECT_CALL(*original_peer_, | 241 EXPECT_CALL(*original_peer_, |
| 238 OnReceivedData(StrEq(message.data()), message.length(), -1)); | 242 OnReceivedData(StrEq(message.data()), message.length(), -1)); |
| 239 | 243 |
| 240 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); | 244 EXPECT_CALL(*original_peer_, OnReceivedResponse(_)); |
| 241 EXPECT_CALL(*original_peer_, OnCompletedRequest( | 245 EXPECT_CALL(*original_peer_, OnCompletedRequest( |
| 242 net::OK, false, "", base::TimeTicks())); | 246 net::OK, false, "", base::TimeTicks())); |
| 243 | 247 |
| 244 filter_peer->OnCompletedRequest(net::OK, false, "", base::TimeTicks()); | 248 filter_peer->OnCompletedRequest( |
| 249 net::OK, false, std::string(), base::TimeTicks()); |
| 245 } | 250 } |
| OLD | NEW |