diff options
author | mdm@chromium.org <mdm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 22:30:53 +0000 |
---|---|---|
committer | mdm@chromium.org <mdm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 22:30:53 +0000 |
commit | fad9c8a5d8f6ae4d1272985b63131986189bbed6 (patch) | |
tree | 2be70a8d13a83af9c2e1312f48bd2c8749eae06e /net/proxy/proxy_config_service_linux_unittest.cc | |
parent | dd14da8f2d18c8f9b6a6c0a9b2bb4e03da92c90c (diff) | |
download | chromium_src-fad9c8a5d8f6ae4d1272985b63131986189bbed6.zip chromium_src-fad9c8a5d8f6ae4d1272985b63131986189bbed6.tar.gz chromium_src-fad9c8a5d8f6ae4d1272985b63131986189bbed6.tar.bz2 |
Linux: check the timestamps of .kde and .kde4 to figure out which to use for proxy configuration in KDE.
BUG=none
TEST=under KDE4, if you have both .kde and .kde4, the one with a newer config directory within will be used
Review URL: http://codereview.chromium.org/2729014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49459 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_config_service_linux_unittest.cc')
-rw-r--r-- | net/proxy/proxy_config_service_linux_unittest.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/net/proxy/proxy_config_service_linux_unittest.cc b/net/proxy/proxy_config_service_linux_unittest.cc index fb1b016..5a09275 100644 --- a/net/proxy/proxy_config_service_linux_unittest.cc +++ b/net/proxy/proxy_config_service_linux_unittest.cc @@ -1309,6 +1309,7 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) { } // Now create .kde4 and put a kioslaverc in the config directory. + // Note that its timestamp will be at least as new as the .kde one. file_util::CreateDirectory(kde4_config_); file_util::WriteFile(kioslaverc4_, slaverc4.c_str(), slaverc4.length()); CHECK(file_util::PathExists(kioslaverc4_)); @@ -1352,6 +1353,23 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) { EXPECT_TRUE(config.auto_detect()); EXPECT_EQ(GURL(), config.pac_url()); } + + // Finally, make the .kde4 config directory older than the .kde directory + // and make sure we then use .kde instead of .kde4 since it's newer. + file_util::SetLastModifiedTime(kde4_config_, base::Time()); + + { SCOPED_TRACE("KDE4, very old .kde4 directory present, use .kde"); + MockEnvVarGetter* env_getter = new MockEnvVarGetter; + env_getter->values.DESKTOP_SESSION = "kde4"; + env_getter->values.HOME = user_home_.value().c_str(); + SynchConfigGetter sync_config_getter( + new ProxyConfigServiceLinux(env_getter)); + ProxyConfig config; + sync_config_getter.SetupAndInitialFetch(); + sync_config_getter.SyncGetProxyConfig(&config); + EXPECT_TRUE(config.auto_detect()); + EXPECT_EQ(GURL(), config.pac_url()); + } } } // namespace net |