| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <memory> | 5 #include <memory> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 make_pair(base::UTF8ToUTF16(kTargetName), GURL(kManifestUrlHigh)), | 248 make_pair(base::UTF8ToUTF16(kTargetName), GURL(kManifestUrlHigh)), |
| 249 make_pair(base::UTF8ToUTF16(kTargetName), GURL(kManifestUrlLow))}; | 249 make_pair(base::UTF8ToUTF16(kTargetName), GURL(kManifestUrlLow))}; |
| 250 EXPECT_EQ(kExpectedTargets, share_service_helper()->GetTargetsInPicker()); | 250 EXPECT_EQ(kExpectedTargets, share_service_helper()->GetTargetsInPicker()); |
| 251 | 251 |
| 252 // Cancel the dialog. | 252 // Cancel the dialog. |
| 253 share_service_helper()->picker_callback().Run(base::nullopt); | 253 share_service_helper()->picker_callback().Run(base::nullopt); |
| 254 | 254 |
| 255 EXPECT_TRUE(share_service_helper()->GetLastUsedTargetURL().empty()); | 255 EXPECT_TRUE(share_service_helper()->GetLastUsedTargetURL().empty()); |
| 256 } | 256 } |
| 257 | 257 |
| 258 // Tests a target with a broken URL template (ReplacePlaceholders failure). |
| 259 TEST_F(ShareServiceImplUnittest, ShareBrokenUrl) { |
| 260 // Invalid placeholders. Detailed tests for broken templates are in the |
| 261 // ReplacePlaceholders test; this just tests the share response. |
| 262 constexpr char kBrokenUrlTemplate[] = "share?title={title"; |
| 263 share_service_helper()->AddShareTargetToPrefs(kManifestUrlHigh, kTargetName, |
| 264 kBrokenUrlTemplate); |
| 265 |
| 266 // Expect an error message in response. |
| 267 base::Callback<void(const base::Optional<std::string>&)> callback = |
| 268 base::Bind(&DidShare, |
| 269 base::Optional<std::string>( |
| 270 "Error: unable to replace placeholders in url template")); |
| 271 |
| 272 base::RunLoop run_loop; |
| 273 share_service_helper()->set_run_loop(&run_loop); |
| 274 |
| 275 const GURL url(kUrlSpec); |
| 276 share_service()->Share(kTitle, kText, url, callback); |
| 277 |
| 278 run_loop.Run(); |
| 279 |
| 280 const std::vector<std::pair<base::string16, GURL>> kExpectedTargets{ |
| 281 make_pair(base::UTF8ToUTF16(kTargetName), GURL(kManifestUrlHigh))}; |
| 282 EXPECT_EQ(kExpectedTargets, share_service_helper()->GetTargetsInPicker()); |
| 283 |
| 284 // Pick example-high.com. |
| 285 share_service_helper()->picker_callback().Run( |
| 286 base::Optional<std::string>(kManifestUrlHigh)); |
| 287 |
| 288 EXPECT_TRUE(share_service_helper()->GetLastUsedTargetURL().empty()); |
| 289 } |
| 290 |
| 258 // Test to check that only targets with enough engagement were in picker. | 291 // Test to check that only targets with enough engagement were in picker. |
| 259 TEST_F(ShareServiceImplUnittest, ShareWithSomeInsufficientlyEngagedTargets) { | 292 TEST_F(ShareServiceImplUnittest, ShareWithSomeInsufficientlyEngagedTargets) { |
| 260 share_service_helper()->AddShareTargetToPrefs(kManifestUrlMin, kTargetName, | 293 share_service_helper()->AddShareTargetToPrefs(kManifestUrlMin, kTargetName, |
| 261 kUrlTemplate); | 294 kUrlTemplate); |
| 262 share_service_helper()->AddShareTargetToPrefs(kManifestUrlLow, kTargetName, | 295 share_service_helper()->AddShareTargetToPrefs(kManifestUrlLow, kTargetName, |
| 263 kUrlTemplate); | 296 kUrlTemplate); |
| 264 | 297 |
| 265 base::Callback<void(const base::Optional<std::string>&)> callback = | 298 base::Callback<void(const base::Optional<std::string>&)> callback = |
| 266 base::Bind(&DidShare, base::Optional<std::string>()); | 299 base::Bind(&DidShare, base::Optional<std::string>()); |
| 267 | 300 |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 517 EXPECT_TRUE(succeeded); | 550 EXPECT_TRUE(succeeded); |
| 518 EXPECT_EQ("%C3%A9", url_template_filled); | 551 EXPECT_EQ("%C3%A9", url_template_filled); |
| 519 | 552 |
| 520 // U+1F4A9 | 553 // U+1F4A9 |
| 521 url_template = "{title}"; | 554 url_template = "{title}"; |
| 522 succeeded = ShareServiceImpl::ReplacePlaceholders( | 555 succeeded = ShareServiceImpl::ReplacePlaceholders( |
| 523 url_template, "\xf0\x9f\x92\xa9", kText, url, &url_template_filled); | 556 url_template, "\xf0\x9f\x92\xa9", kText, url, &url_template_filled); |
| 524 EXPECT_TRUE(succeeded); | 557 EXPECT_TRUE(succeeded); |
| 525 EXPECT_EQ("%F0%9F%92%A9", url_template_filled); | 558 EXPECT_EQ("%F0%9F%92%A9", url_template_filled); |
| 526 } | 559 } |
| OLD | NEW |