| Index: chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
|
| diff --git a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
|
| index 395693a0782db70316d798221e854a161f4b7540..80358894ac6a071483120bae014736d876418d42 100644
|
| --- a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
|
| +++ b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
|
| @@ -14,6 +14,7 @@
|
| #include "base/prefs/pref_service.h"
|
| #include "base/prefs/scoped_user_pref_update.h"
|
| #include "base/prefs/testing_pref_store.h"
|
| +#include "base/test/simple_test_clock.h"
|
| #include "base/threading/platform_thread.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/content_settings/content_settings_mock_observer.h"
|
| @@ -444,4 +445,38 @@ TEST_F(PrefProviderTest, Deadlock) {
|
| provider.ShutdownOnUIThread();
|
| }
|
|
|
| +TEST_F(PrefProviderTest, LastUsage) {
|
| + TestingProfile testing_profile;
|
| + PrefProvider pref_content_settings_provider(testing_profile.GetPrefs(),
|
| + false);
|
| + base::SimpleTestClock test_clock_;
|
| + test_clock_.SetNow(base::Time::Now());
|
| +
|
| + pref_content_settings_provider.SetClockForTesting(&test_clock_);
|
| + GURL host("http://example.com/");
|
| + ContentSettingsPattern pattern =
|
| + ContentSettingsPattern::FromString("[*.]example.com");
|
| +
|
| + base::Time no_usage = pref_content_settings_provider.GetLastUsage(
|
| + pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
|
| + EXPECT_EQ(no_usage.ToDoubleT(), 0);
|
| +
|
| + pref_content_settings_provider.UpdateLastUsage(
|
| + pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
|
| + base::Time first = pref_content_settings_provider.GetLastUsage(
|
| + pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
|
| +
|
| + test_clock_.Advance(base::TimeDelta::FromSeconds(10));
|
| +
|
| + pref_content_settings_provider.UpdateLastUsage(
|
| + pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
|
| + base::Time second = pref_content_settings_provider.GetLastUsage(
|
| + pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
|
| +
|
| + base::TimeDelta delta = second - first;
|
| + EXPECT_EQ(delta.InSeconds(), 10);
|
| +
|
| + pref_content_settings_provider.ShutdownOnUIThread();
|
| +}
|
| +
|
| } // namespace content_settings
|
|
|