Index: components/previews/core/previews_black_list_unittest.cc |
diff --git a/components/previews/core/previews_black_list_unittest.cc b/components/previews/core/previews_black_list_unittest.cc |
index a3d3e9dcbed9d6a575e7fa6c8399c5ec76a78a69..1622a7b1a7f7509a7bb11627eb65824244af3576 100644 |
--- a/components/previews/core/previews_black_list_unittest.cc |
+++ b/components/previews/core/previews_black_list_unittest.cc |
@@ -107,53 +107,63 @@ TEST_F(PreviewsBlackListTest, PerHostBlackListNoStore) { |
params) && |
base::FieldTrialList::CreateFieldTrial("ClientSidePreviews", "Enabled")); |
base::SimpleTestClock* test_clock = new base::SimpleTestClock(); |
base::Time start = test_clock->Now(); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
std::unique_ptr<PreviewsBlackList> black_list( |
new PreviewsBlackList(nullptr, base::WrapUnique(test_clock))); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url_a, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_a, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url_b, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_b, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url_b, false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_b, false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_b, false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
black_list->ClearBlackList(start, test_clock->Now()); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
variations::testing::ClearAllVariationParams(); |
} |
TEST_F(PreviewsBlackListTest, PerHostBlackListWithStore) { |
// Tests the black list behavior when a non-null OptOutSture is passed in. |
const GURL url_a1("http://www.url_a.com/a1"); |
const GURL url_a2("http://www.url_a.com/a2"); |
const GURL url_b("http://www.url_b.com"); |
const size_t per_host_history = 4; |
@@ -187,73 +197,94 @@ TEST_F(PreviewsBlackListTest, PerHostBlackListWithStore) { |
base::SimpleTestClock* test_clock = new base::SimpleTestClock(); |
base::Time start = test_clock->Now(); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
TestPreviewsOptOutStore* opt_out_store = new TestPreviewsOptOutStore(); |
std::unique_ptr<PreviewsBlackList> black_list(new PreviewsBlackList( |
base::WrapUnique(opt_out_store), base::WrapUnique(test_clock))); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
base::RunLoop().RunUntilIdle(); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url_a1, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_a1, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url_b, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_b, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url_b, false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_b, false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_b, false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
EXPECT_EQ(0, opt_out_store->clear_blacklist_count()); |
black_list->ClearBlackList(start, base::Time::Now()); |
EXPECT_EQ(1, opt_out_store->clear_blacklist_count()); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url_a2, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(1, opt_out_store->clear_blacklist_count()); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a1, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
variations::testing::ClearAllVariationParams(); |
} |
TEST_F(PreviewsBlackListTest, HostIndifferentBlackList) { |
// Tests the black list behavior when a null OptOutSture is passed in. |
const GURL urls[] = { |
GURL("http://www.url_0.com"), GURL("http://www.url_1.com"), |
GURL("http://www.url_2.com"), GURL("http://www.url_3.com"), |
}; |
@@ -282,45 +313,58 @@ TEST_F(PreviewsBlackListTest, HostIndifferentBlackList) { |
variations::AssociateVariationParams("ClientSidePreviews", "Enabled", |
params) && |
base::FieldTrialList::CreateFieldTrial("ClientSidePreviews", "Enabled")); |
base::SimpleTestClock* test_clock = new base::SimpleTestClock(); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
std::unique_ptr<PreviewsBlackList> black_list( |
new PreviewsBlackList(nullptr, base::WrapUnique(test_clock))); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[0], PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[1], PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[2], PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[3], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[0], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[1], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[2], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[3], PreviewsType::OFFLINE)); |
for (size_t i = 0; i < host_indifferent_threshold; i++) { |
black_list->AddPreviewNavigation(urls[i], true, PreviewsType::OFFLINE); |
- EXPECT_EQ(i != 3, |
+ EXPECT_EQ(i != 3 ? PreviewsEligibilityReason::ALLOWED |
+ : PreviewsEligibilityReason::USER_BLACKLISTED, |
black_list->IsLoadedAndAllowed(urls[0], PreviewsType::OFFLINE)); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
} |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(urls[0], PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(urls[1], PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(urls[2], PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(urls[3], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(urls[0], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(urls[1], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(urls[2], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(urls[3], PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(urls[3], false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
// New non-opt-out entry will cause these to be allowed now. |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[0], PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[1], PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[2], PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(urls[3], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[0], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[1], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[2], PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(urls[3], PreviewsType::OFFLINE)); |
variations::testing::ClearAllVariationParams(); |
} |
TEST_F(PreviewsBlackListTest, QueueBehavior) { |
// Tests the black list asynchronous queue behavior. Methods called while |
// loading the opt-out store are queued and should run in the order they were |
// queued. |
const GURL url("http://www.url.com"); |
const GURL url2("http://www.url2.com"); |
@@ -352,46 +396,51 @@ TEST_F(PreviewsBlackListTest, QueueBehavior) { |
for (auto opt_out : test_opt_out) { |
base::SimpleTestClock* test_clock = new base::SimpleTestClock(); |
base::Time start = test_clock->Now(); |
TestPreviewsOptOutStore* opt_out_store = new TestPreviewsOptOutStore(); |
std::unique_ptr<PreviewsBlackList> black_list(new PreviewsBlackList( |
base::WrapUnique(opt_out_store), base::WrapUnique(test_clock))); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url, opt_out, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url, opt_out, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED, |
+ black_list->IsLoadedAndAllowed(url, PreviewsType::OFFLINE)); |
base::RunLoop().RunUntilIdle(); |
- EXPECT_EQ(!opt_out, |
+ EXPECT_EQ(opt_out ? PreviewsEligibilityReason::HOST_BLACKLISTED |
+ : PreviewsEligibilityReason::ALLOWED, |
black_list->IsLoadedAndAllowed(url, PreviewsType::OFFLINE)); |
black_list->AddPreviewNavigation(url, opt_out, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url, opt_out, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
EXPECT_EQ(0, opt_out_store->clear_blacklist_count()); |
black_list->ClearBlackList( |
start, test_clock->Now() + base::TimeDelta::FromSeconds(1)); |
EXPECT_EQ(1, opt_out_store->clear_blacklist_count()); |
black_list->AddPreviewNavigation(url2, opt_out, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url2, opt_out, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(1, opt_out_store->clear_blacklist_count()); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url, PreviewsType::OFFLINE)); |
- EXPECT_EQ(!opt_out, |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(opt_out ? PreviewsEligibilityReason::HOST_BLACKLISTED |
+ : PreviewsEligibilityReason::ALLOWED, |
black_list->IsLoadedAndAllowed(url2, PreviewsType::OFFLINE)); |
} |
variations::testing::ClearAllVariationParams(); |
} |
TEST_F(PreviewsBlackListTest, MaxHosts) { |
// Test that the black list only stores n hosts, and it stores the correct n |
// hosts. |
const GURL url_a("http://www.url_a.com"); |
@@ -435,32 +484,38 @@ TEST_F(PreviewsBlackListTest, MaxHosts) { |
std::unique_ptr<PreviewsBlackList> black_list( |
new PreviewsBlackList(nullptr, base::WrapUnique(test_clock))); |
black_list->AddPreviewNavigation(url_a, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_b, false, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_c, false, PreviewsType::OFFLINE); |
// url_a should stay in the map, since it has an opt out time. |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_d, true, PreviewsType::OFFLINE); |
test_clock->Advance(base::TimeDelta::FromSeconds(1)); |
black_list->AddPreviewNavigation(url_e, true, PreviewsType::OFFLINE); |
// url_d and url_e should remain in the map, but url_a should be evicted. |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_d, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_e, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_d, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::HOST_BLACKLISTED, |
+ black_list->IsLoadedAndAllowed(url_e, PreviewsType::OFFLINE)); |
variations::testing::ClearAllVariationParams(); |
} |
TEST_F(PreviewsBlackListTest, SingleOptOut) { |
// Test that when a user opts out of a preview, previews won't be shown until |
// |single_opt_out_duration| has elapsed. |
const GURL url_a("http://www.url_a.com"); |
const GURL url_b("http://www.url_b.com"); |
const GURL url_c("http://www.url_c.com"); |
@@ -492,36 +547,44 @@ TEST_F(PreviewsBlackListTest, SingleOptOut) { |
variations::AssociateVariationParams("ClientSidePreviews", "Enabled", |
params) && |
base::FieldTrialList::CreateFieldTrial("ClientSidePreviews", "Enabled")); |
base::SimpleTestClock* test_clock = new base::SimpleTestClock(); |
std::unique_ptr<PreviewsBlackList> black_list( |
new PreviewsBlackList(nullptr, base::WrapUnique(test_clock))); |
black_list->AddPreviewNavigation(url_a, false, PreviewsType::OFFLINE); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_a, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
test_clock->Advance( |
base::TimeDelta::FromSeconds(single_opt_out_duration + 1)); |
black_list->AddPreviewNavigation(url_b, true, PreviewsType::OFFLINE); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_RECENTLY_OPTED_OUT, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_RECENTLY_OPTED_OUT, |
+ black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
test_clock->Advance( |
base::TimeDelta::FromSeconds(single_opt_out_duration - 1)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
- EXPECT_FALSE(black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_RECENTLY_OPTED_OUT, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::USER_RECENTLY_OPTED_OUT, |
+ black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
test_clock->Advance( |
base::TimeDelta::FromSeconds(single_opt_out_duration + 1)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
- EXPECT_TRUE(black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_b, PreviewsType::OFFLINE)); |
+ EXPECT_EQ(PreviewsEligibilityReason::ALLOWED, |
+ black_list->IsLoadedAndAllowed(url_c, PreviewsType::OFFLINE)); |
variations::testing::ClearAllVariationParams(); |
} |
} // namespace previews |