Commit 3556fbff authored by Bettina's avatar Bettina Committed by Commit Bot

Create unit test for placeholders order/offsets.

Previously, placeholders for the saved password
protection warning are reordered based off of
commonly spoofed domains. This means that the
placeholders may not be in the same order as the
|saved_password_matching_domains|. This is the
unit test for cr/1983352.

Bug: 1038132
Change-Id: I5a2d7ee57508c72097631414fc12b4aa0fcc612e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1986187
Commit-Queue: Bettina Dea <bdea@chromium.org>
Reviewed-by: default avatarDaniel Rubery <drubery@chromium.org>
Reviewed-by: default avatarVarun Khaneja <vakh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728644}
parent 35f60a7a
......@@ -439,6 +439,8 @@ class ChromePasswordProtectionService : public PasswordProtectionService {
FRIEND_TEST_ALL_PREFIXES(
ChromePasswordProtectionServiceTest,
VerifyOnPolicySpecifiedPasswordReuseDetectedEventForPhishingReuse);
FRIEND_TEST_ALL_PREFIXES(ChromePasswordProtectionServiceTest,
VerifyGetWarningDetailTextSavedDomains);
// Gets prefs associated with |profile_|.
PrefService* GetPrefs();
......
......@@ -1217,7 +1217,16 @@ TEST_F(ChromePasswordProtectionServiceTest,
std::vector<size_t> placeholder_offsets;
EXPECT_EQ(warning_text, service_->GetWarningDetailText(reused_password_type,
&placeholder_offsets));
// GetWarningDetailText shouldCall GetWarningDetailTextForSavedPasswords, so
// we can check to see if the placeholder offset values are the same.
// Hardcoding the offset in the expected value cannot be done as it's
// different for different OS.
std::vector<size_t> expected_placeholder_offsets;
service_->GetWarningDetailTextForSavedPasswords(
&expected_placeholder_offsets);
EXPECT_EQ(expected_placeholder_offsets, placeholder_offsets);
placeholder_offsets.clear();
domains.push_back("www.2.example.com");
service_->set_saved_passwords_matching_domains(domains);
warning_text = l10n_util::GetStringFUTF16(
......@@ -1225,7 +1234,12 @@ TEST_F(ChromePasswordProtectionServiceTest,
base::UTF8ToUTF16(domains[0]), base::UTF8ToUTF16(domains[1]));
EXPECT_EQ(warning_text, service_->GetWarningDetailText(reused_password_type,
&placeholder_offsets));
expected_placeholder_offsets.clear();
service_->GetWarningDetailTextForSavedPasswords(
&expected_placeholder_offsets);
EXPECT_EQ(expected_placeholder_offsets, placeholder_offsets);
placeholder_offsets.clear();
domains.push_back("www.3.example.com");
service_->set_saved_passwords_matching_domains(domains);
warning_text = l10n_util::GetStringFUTF16(
......@@ -1234,8 +1248,13 @@ TEST_F(ChromePasswordProtectionServiceTest,
base::UTF8ToUTF16(domains[2]));
EXPECT_EQ(warning_text, service_->GetWarningDetailText(reused_password_type,
&placeholder_offsets));
expected_placeholder_offsets.clear();
service_->GetWarningDetailTextForSavedPasswords(
&expected_placeholder_offsets);
EXPECT_EQ(expected_placeholder_offsets, placeholder_offsets);
// Default domains should be prioritzed over other domains.
placeholder_offsets.clear();
domains.push_back("amazon.com");
service_->set_saved_passwords_matching_domains(domains);
warning_text = l10n_util::GetStringFUTF16(
......@@ -1244,6 +1263,25 @@ TEST_F(ChromePasswordProtectionServiceTest,
base::UTF8ToUTF16(domains[1]));
EXPECT_EQ(warning_text, service_->GetWarningDetailText(reused_password_type,
&placeholder_offsets));
expected_placeholder_offsets.clear();
service_->GetWarningDetailTextForSavedPasswords(
&expected_placeholder_offsets);
EXPECT_EQ(expected_placeholder_offsets, placeholder_offsets);
}
TEST_F(ChromePasswordProtectionServiceTest,
VerifyGetPlaceholdersForSavedPasswordWarningText) {
std::vector<std::string> domains{"www.example.com"};
domains.push_back("www.2.example.com");
domains.push_back("www.3.example.com");
domains.push_back("amazon.com");
service_->set_saved_passwords_matching_domains(domains);
// Default domains should be prioritzed over other domains.
std::vector<base::string16> expected_placeholders{
base::UTF8ToUTF16("amazon.com"), base::UTF8ToUTF16(domains[0]),
base::UTF8ToUTF16(domains[1])};
EXPECT_EQ(expected_placeholders,
service_->GetPlaceholdersForSavedPasswordWarningText());
}
TEST_F(ChromePasswordProtectionServiceTest,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment