Chromium Code Reviews| Index: chrome/browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc |
| diff --git a/chrome/browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc b/chrome/browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc |
| index b1532b9221c17befe55a1d9b6b1e2fd2747afd95..bd661add6def1500335d14adab1b8c5d1648b21e 100644 |
| --- a/chrome/browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc |
| +++ b/chrome/browser/content_settings/content_settings_origin_identifier_value_map_unittest.cc |
| @@ -22,7 +22,7 @@ TEST(OriginIdentifierValueMapTest, SetGetValue) { |
| std::string())); |
| map.SetValue(ContentSettingsPattern::FromString("[*.]google.com"), |
| ContentSettingsPattern::FromString("[*.]google.com"), |
| - CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), base::Time(), |
| new base::Value(1)); |
| std::unique_ptr<base::Value> expected_value(new base::Value(1)); |
| @@ -66,7 +66,7 @@ TEST(OriginIdentifierValueMapTest, SetDeleteValue) { |
| // Set sample values. |
| map.SetValue(ContentSettingsPattern::FromString("[*.]google.com"), |
| ContentSettingsPattern::FromString("[*.]google.com"), |
| - CONTENT_SETTINGS_TYPE_PLUGINS, "java-plugin", |
| + CONTENT_SETTINGS_TYPE_PLUGINS, "java-plugin", base::Time(), |
| new base::Value(1)); |
| int actual_value; |
| @@ -115,11 +115,11 @@ TEST(OriginIdentifierValueMapTest, Clear) { |
| // Set two values. |
| map.SetValue(ContentSettingsPattern::FromString("[*.]google.com"), |
| ContentSettingsPattern::FromString("[*.]google.com"), |
| - CONTENT_SETTINGS_TYPE_PLUGINS, "java-plugin", |
| + CONTENT_SETTINGS_TYPE_PLUGINS, "java-plugin", base::Time(), |
| new base::Value(1)); |
| map.SetValue(ContentSettingsPattern::FromString("[*.]google.com"), |
| ContentSettingsPattern::FromString("[*.]google.com"), |
| - CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), base::Time(), |
| new base::Value(1)); |
| EXPECT_FALSE(map.empty()); |
| int actual_value; |
| @@ -143,12 +143,12 @@ TEST(OriginIdentifierValueMapTest, ListEntryPrecedences) { |
| map.SetValue(ContentSettingsPattern::FromString("[*.]google.com"), |
| ContentSettingsPattern::FromString("[*.]google.com"), |
| - CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), base::Time(), |
| new base::Value(1)); |
| map.SetValue(ContentSettingsPattern::FromString("www.google.com"), |
| ContentSettingsPattern::FromString("[*.]google.com"), |
| - CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), base::Time(), |
| new base::Value(2)); |
| int actual_value; |
| @@ -180,11 +180,13 @@ TEST(OriginIdentifierValueMapTest, IterateNonempty) { |
| ContentSettingsPattern::FromString("[*.]google.com"); |
| ContentSettingsPattern sub_pattern = |
| ContentSettingsPattern::FromString("sub.google.com"); |
| + base::Time t1 = base::Time::Now(); |
| + base::Time t2 = t1 + base::TimeDelta::FromSeconds(1); |
| map.SetValue(pattern, ContentSettingsPattern::Wildcard(), |
| - CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), t1, |
| new base::Value(1)); |
| map.SetValue(sub_pattern, ContentSettingsPattern::Wildcard(), |
| - CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), t2, |
| new base::Value(2)); |
| std::unique_ptr<content_settings::RuleIterator> rule_iterator( |
| @@ -193,9 +195,50 @@ TEST(OriginIdentifierValueMapTest, IterateNonempty) { |
| content_settings::Rule rule = rule_iterator->Next(); |
| EXPECT_EQ(sub_pattern, rule.primary_pattern); |
| EXPECT_EQ(2, content_settings::ValueToContentSetting(rule.value.get())); |
| + EXPECT_EQ(t2, rule.last_modified); |
| ASSERT_TRUE(rule_iterator->HasNext()); |
| rule = rule_iterator->Next(); |
| EXPECT_EQ(pattern, rule.primary_pattern); |
| EXPECT_EQ(1, content_settings::ValueToContentSetting(rule.value.get())); |
| + EXPECT_EQ(t1, rule.last_modified); |
| +} |
| + |
| +TEST(OriginIdentifierValueMapTest, UpdateLastModified) { |
| + // Verify that the last_modified timestamp is updated. |
| + content_settings::OriginIdentifierValueMap map; |
| + ContentSettingsPattern pattern = |
| + ContentSettingsPattern::FromString("[*.]google.com"); |
| + |
| + base::Time t1 = base::Time::Now(); |
| + map.SetValue(pattern, ContentSettingsPattern::Wildcard(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), t1, |
| + new base::Value(1)); |
| + |
| + { |
| + std::unique_ptr<content_settings::RuleIterator> rule_iterator( |
| + map.GetRuleIterator(CONTENT_SETTINGS_TYPE_COOKIES, std::string(), |
| + NULL)); |
| + ASSERT_TRUE(rule_iterator->HasNext()); |
| + content_settings::Rule rule = rule_iterator->Next(); |
| + EXPECT_EQ(pattern, rule.primary_pattern); |
| + EXPECT_EQ(1, content_settings::ValueToContentSetting(rule.value.get())); |
| + EXPECT_EQ(t1, rule.last_modified); |
| + ASSERT_FALSE(rule_iterator->HasNext()); |
| + } |
| + base::Time t2 = t1 + base::TimeDelta::FromSeconds(1); |
| + map.SetValue(pattern, ContentSettingsPattern::Wildcard(), |
| + CONTENT_SETTINGS_TYPE_COOKIES, std::string(), t2, |
| + new base::Value(1)); |
| + |
| + { |
| + std::unique_ptr<content_settings::RuleIterator> rule_iterator = |
| + map.GetRuleIterator(CONTENT_SETTINGS_TYPE_COOKIES, std::string(), NULL); |
| + ASSERT_TRUE(rule_iterator->HasNext()); |
| + content_settings::Rule rule = rule_iterator->Next(); |
| + EXPECT_EQ(pattern, rule.primary_pattern); |
| + EXPECT_EQ(1, content_settings::ValueToContentSetting(rule.value.get())); |
| + EXPECT_EQ(t2, rule.last_modified); |
|
msramek
2017/04/19 10:49:15
Please add a check that the other rules still have
dullweber
2017/04/19 15:02:45
Done.
|
| + ASSERT_FALSE(rule_iterator->HasNext()); |
| + } |
| } |