| Index: chrome/browser/extensions/extension_proxy_apitest.cc
|
| diff --git a/chrome/browser/extensions/extension_proxy_apitest.cc b/chrome/browser/extensions/extension_proxy_apitest.cc
|
| index 8988e1675f078a2ec6d1095f57c3b9b71f23ea78..b26921a65db5fbe9544c87fa32a99a8c8016bb35 100644
|
| --- a/chrome/browser/extensions/extension_proxy_apitest.cc
|
| +++ b/chrome/browser/extensions/extension_proxy_apitest.cc
|
| @@ -11,53 +11,54 @@
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/pref_names.h"
|
|
|
| -class ProxySettingsApiTest : public ExtensionApiTest {
|
| - protected:
|
| - void AssertSettings(int expected_mode,
|
| - const char* expected_server,
|
| - const char* expected_pac_url,
|
| - PrefService* pref_service) {
|
| - AssertExtensionControlled(prefs::kProxyMode, pref_service);
|
| - int mode = pref_service->GetInteger(prefs::kProxyMode);
|
| - EXPECT_EQ(expected_mode, mode);
|
| +namespace {
|
|
|
| - AssertExtensionControlled(prefs::kProxyPacUrl, pref_service);
|
| - EXPECT_EQ(expected_pac_url, pref_service->GetString(prefs::kProxyPacUrl));
|
| +const char NO_SERVER[] = "";
|
| +const char NO_PAC[] = "";
|
|
|
| - AssertExtensionControlled(prefs::kProxyServer, pref_service);
|
| - EXPECT_EQ(expected_server, pref_service->GetString(prefs::kProxyServer));
|
| - }
|
| +} // namespace
|
|
|
| - void AssertNoSettings(PrefService* pref_service) {
|
| - AssertNotExtensionControlled(prefs::kProxyServer, pref_service);
|
| - AssertNotExtensionControlled(prefs::kProxyMode, pref_service);
|
| - AssertNotExtensionControlled(prefs::kProxyPacUrl, pref_service);
|
| - }
|
| - private:
|
| - void AssertExtensionControlled(const char* pref_key,
|
| - PrefService* pref_service) {
|
| +class ProxySettingsApiTest : public ExtensionApiTest {
|
| + protected:
|
| + void ExpectSettings(int expected_mode,
|
| + const std::string& expected_server,
|
| + const std::string& expected_pac_url,
|
| + PrefService* pref_service) {
|
| const PrefService::Preference* pref =
|
| - pref_service->FindPreference(pref_key);
|
| + pref_service->FindPreference(prefs::kProxy);
|
| ASSERT_TRUE(pref != NULL);
|
| ASSERT_TRUE(pref->IsExtensionControlled());
|
| +
|
| + ProxyPrefsDictionary dict(pref_service->GetDictionary(prefs::kProxy));
|
| +
|
| + ProxyPrefs::ProxyMode mode;
|
| + ASSERT_TRUE(dict.GetMode(&mode));
|
| + EXPECT_EQ(expected_mode, mode);
|
| +
|
| + std::string value;
|
| + if (!expected_pac_url.empty()) {
|
| + ASSERT_TRUE(dict.GetPacUrl(&value));
|
| + EXPECT_EQ(expected_pac_url, value);
|
| + } else {
|
| + EXPECT_FALSE(dict.GetPacUrl(&value));
|
| + }
|
| +
|
| + if (!expected_server.empty()) {
|
| + ASSERT_TRUE(dict.GetProxyServer(&value));
|
| + EXPECT_EQ(expected_server, value);
|
| + } else {
|
| + EXPECT_FALSE(dict.GetProxyServer(&value));
|
| + }
|
| }
|
|
|
| - void AssertNotExtensionControlled(const char* pref_key,
|
| - PrefService* pref_service) {
|
| + void ExpectNoSettings(PrefService* pref_service) {
|
| const PrefService::Preference* pref =
|
| - pref_service->FindPreference(pref_key);
|
| + pref_service->FindPreference(prefs::kProxy);
|
| ASSERT_TRUE(pref != NULL);
|
| - ASSERT_FALSE(pref->IsExtensionControlled());
|
| + EXPECT_FALSE(pref->IsExtensionControlled());
|
| }
|
| };
|
|
|
| -namespace {
|
| -
|
| -const char NO_SERVER[] = "";
|
| -const char NO_PAC[] = "";
|
| -
|
| -} // namespace
|
| -
|
| // Tests direct connection settings.
|
| IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyDirectSettings) {
|
| CommandLine::ForCurrentProcess()->AppendSwitch(
|
| @@ -68,7 +69,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyDirectSettings) {
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_DIRECT, NO_SERVER, NO_PAC, pref_service);
|
| + ExpectSettings(ProxyPrefs::MODE_DIRECT, NO_SERVER, NO_PAC, pref_service);
|
| }
|
|
|
| // Tests auto-detect settings.
|
| @@ -81,7 +82,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyAutoSettings) {
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_AUTO_DETECT, NO_SERVER, NO_PAC, pref_service);
|
| + ExpectSettings(ProxyPrefs::MODE_AUTO_DETECT, NO_SERVER, NO_PAC, pref_service);
|
| }
|
|
|
| // Tests PAC proxy settings.
|
| @@ -94,7 +95,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyPacScript) {
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_PAC_SCRIPT, NO_SERVER,
|
| + ExpectSettings(ProxyPrefs::MODE_PAC_SCRIPT, NO_SERVER,
|
| "http://wpad/windows.pac", pref_service);
|
| }
|
|
|
| @@ -108,7 +109,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedSingle) {
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| + ExpectSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| "http=http://127.0.0.1:100;"
|
| "https=http://127.0.0.1:100;"
|
| "ftp=http://127.0.0.1:100;"
|
| @@ -127,7 +128,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxySystem) {
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_SYSTEM, NO_SERVER, NO_PAC, pref_service);
|
| + ExpectSettings(ProxyPrefs::MODE_SYSTEM, NO_SERVER, NO_PAC, pref_service);
|
| }
|
|
|
| // Tests setting separate proxies for each scheme.
|
| @@ -140,7 +141,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividual) {
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| + ExpectSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| "http=http://1.1.1.1;"
|
| "https=socks://2.2.2.2;"
|
| "ftp=http://3.3.3.3:9000;"
|
| @@ -150,7 +151,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividual) {
|
|
|
| // Now check the incognito preferences.
|
| pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| + ExpectSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| "http=http://1.1.1.1;"
|
| "https=socks://2.2.2.2;"
|
| "ftp=http://3.3.3.3:9000;"
|
| @@ -170,11 +171,11 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertNoSettings(pref_service);
|
| + ExpectNoSettings(pref_service);
|
|
|
| // Now check the incognito preferences.
|
| pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| + ExpectSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| "http=http://1.1.1.1;"
|
| "https=socks://2.2.2.2;"
|
| "ftp=http://3.3.3.3:9000;"
|
| @@ -194,7 +195,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| + ExpectSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| "http=http://1.1.1.1;"
|
| "https=socks://2.2.2.2;"
|
| "ftp=http://3.3.3.3:9000;"
|
| @@ -204,7 +205,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
|
|
|
| // Now check the incognito preferences.
|
| pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs();
|
| - AssertSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| + ExpectSettings(ProxyPrefs::MODE_FIXED_SERVERS,
|
| "http=http://5.5.5.5;"
|
| "https=socks://6.6.6.6;"
|
| "ftp=http://7.7.7.7:9000;"
|
| @@ -223,5 +224,5 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividualRemove) {
|
| ASSERT_TRUE(extension);
|
|
|
| PrefService* pref_service = browser()->profile()->GetPrefs();
|
| - AssertNoSettings(pref_service);
|
| + ExpectNoSettings(pref_service);
|
| }
|
|
|