OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/options/preferences_browsertest.h" | 5 #include "chrome/browser/ui/webui/options/preferences_browsertest.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <iostream> | 9 #include <iostream> |
10 #include <memory> | 10 #include <memory> |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 // List pref. | 689 // List pref. |
690 pref_names_.push_back(chromeos::kAccountsPrefUsers); | 690 pref_names_.push_back(chromeos::kAccountsPrefUsers); |
691 default_values_.push_back(base::MakeUnique<base::ListValue>()); | 691 default_values_.push_back(base::MakeUnique<base::ListValue>()); |
692 | 692 |
693 // Verify notifications when default values are in effect. | 693 // Verify notifications when default values are in effect. |
694 SetupJavaScriptTestEnvironment(pref_names_, &observed_json); | 694 SetupJavaScriptTestEnvironment(pref_names_, &observed_json); |
695 VerifyObservedPrefs(observed_json, pref_names_, default_values_, "owner", | 695 VerifyObservedPrefs(observed_json, pref_names_, default_values_, "owner", |
696 true, false); | 696 true, false); |
697 } | 697 } |
698 | 698 |
699 // Verifies that initializing the JavaScript Preferences class fires the correct | |
700 // notifications in JavaScript for non-privileged pref values handled by the | |
701 // CoreChromeOSOptionsHandler class. | |
702 IN_PROC_BROWSER_TEST_F(PreferencesBrowserTest, | |
703 ChromeOSDeviceFetchNonPrivilegedPrefs) { | |
704 std::vector<std::unique_ptr<base::Value>> decorated_non_default_values; | |
705 std::string observed_json; | |
706 | |
707 // Non-privileged string pref. | |
708 pref_names_.push_back(chromeos::kSystemTimezone); | |
709 default_values_.push_back( | |
710 base::MakeUnique<base::Value>("America/Los_Angeles")); | |
711 non_default_values_.push_back( | |
712 base::MakeUnique<base::Value>("America/New_York")); | |
713 decorated_non_default_values.push_back( | |
714 non_default_values_.back()->CreateDeepCopy()); | |
715 | |
716 // Verify notifications when default values are in effect. | |
717 SetupJavaScriptTestEnvironment(pref_names_, &observed_json); | |
718 VerifyObservedPrefs(observed_json, pref_names_, default_values_, | |
719 std::string(), false, false); | |
720 | |
721 chromeos::CrosSettings* cros_settings = chromeos::CrosSettings::Get(); | |
722 cros_settings->Set(pref_names_[0], *non_default_values_[0]); | |
723 | |
724 // Verify notifications when non-default values are in effect. | |
725 SetupJavaScriptTestEnvironment(pref_names_, &observed_json); | |
726 VerifyObservedPrefs(observed_json, pref_names_, decorated_non_default_values, | |
727 std::string(), false, false); | |
728 } | |
729 | |
730 class ManagedPreferencesBrowserTest : public PreferencesBrowserTest { | 699 class ManagedPreferencesBrowserTest : public PreferencesBrowserTest { |
731 protected: | 700 protected: |
732 // PreferencesBrowserTest implementation: | 701 // PreferencesBrowserTest implementation: |
733 void SetUpInProcessBrowserTestFixture() override { | 702 void SetUpInProcessBrowserTestFixture() override { |
734 // Set up fake install attributes. | 703 // Set up fake install attributes. |
735 std::unique_ptr<chromeos::StubInstallAttributes> attributes = | 704 std::unique_ptr<chromeos::StubInstallAttributes> attributes = |
736 base::MakeUnique<chromeos::StubInstallAttributes>(); | 705 base::MakeUnique<chromeos::StubInstallAttributes>(); |
737 attributes->SetCloudManaged("example.com", "fake-id"); | 706 attributes->SetCloudManaged("example.com", "fake-id"); |
738 policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting( | 707 policy::BrowserPolicyConnectorChromeOS::SetInstallAttributesForTesting( |
739 attributes.release()); | 708 attributes.release()); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
788 for (size_t i = 0; i < pref_names_.size(); ++i) { | 757 for (size_t i = 0; i < pref_names_.size(); ++i) { |
789 cros_settings->Set(pref_names_[i], *non_default_values_[i]); | 758 cros_settings->Set(pref_names_[i], *non_default_values_[i]); |
790 } | 759 } |
791 | 760 |
792 // Verify notifications when mandatory values are in effect. | 761 // Verify notifications when mandatory values are in effect. |
793 SetupJavaScriptTestEnvironment(pref_names_, &observed_json); | 762 SetupJavaScriptTestEnvironment(pref_names_, &observed_json); |
794 VerifyObservedPrefs(observed_json, pref_names_, decorated_non_default_values, | 763 VerifyObservedPrefs(observed_json, pref_names_, decorated_non_default_values, |
795 "policy", true, false); | 764 "policy", true, false); |
796 } | 765 } |
797 | 766 |
798 // Verifies that initializing the JavaScript Preferences class fires the correct | |
799 // notifications in JavaScript for non-privileged pref values handled by the | |
800 // CoreChromeOSOptionsHandler class for a managed device. | |
801 IN_PROC_BROWSER_TEST_F(ManagedPreferencesBrowserTest, | |
802 ChromeOSDeviceFetchNonPrivilegedPrefs) { | |
803 std::vector<std::unique_ptr<base::Value>> decorated_non_default_values; | |
804 std::string observed_json; | |
805 | |
806 // Non-privileged string pref. | |
807 pref_names_.push_back(chromeos::kSystemTimezone); | |
808 non_default_values_.push_back( | |
809 base::MakeUnique<base::Value>("America/New_York")); | |
810 decorated_non_default_values.push_back( | |
811 non_default_values_.back()->CreateDeepCopy()); | |
812 | |
813 // Verify notifications when mandatory values are in effect. | |
814 chromeos::CrosSettings* cros_settings = chromeos::CrosSettings::Get(); | |
815 cros_settings->Set(pref_names_[0], *non_default_values_[0]); | |
816 | |
817 SetupJavaScriptTestEnvironment(pref_names_, &observed_json); | |
818 VerifyObservedPrefs(observed_json, pref_names_, decorated_non_default_values, | |
819 std::string(), false, false); | |
820 } | |
821 | |
822 namespace { | 767 namespace { |
823 | 768 |
824 const char* kUserProfilePath = "user_profile"; | 769 const char* kUserProfilePath = "user_profile"; |
825 | 770 |
826 } // namespace | 771 } // namespace |
827 | 772 |
828 class ProxyPreferencesBrowserTest : public PreferencesBrowserTest { | 773 class ProxyPreferencesBrowserTest : public PreferencesBrowserTest { |
829 public: | 774 public: |
830 void SetUpOnMainThread() override { | 775 void SetUpOnMainThread() override { |
831 SetupNetworkEnvironment(); | 776 SetupNetworkEnvironment(); |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1097 base::Value(3)); | 1042 base::Value(3)); |
1098 SetProxyPref(chromeos::proxy_cros_settings_parser::kProxySocksPort, | 1043 SetProxyPref(chromeos::proxy_cros_settings_parser::kProxySocksPort, |
1099 base::Value(4)); | 1044 base::Value(4)); |
1100 | 1045 |
1101 VerifyCurrentProxyServer( | 1046 VerifyCurrentProxyServer( |
1102 "http=a.com:1;https=4.3.2.1:2;ftp=c.com:3;socks=socks4://d.com:4", | 1047 "http=a.com:1;https=4.3.2.1:2;ftp=c.com:3;socks=socks4://d.com:4", |
1103 onc::ONC_SOURCE_NONE); | 1048 onc::ONC_SOURCE_NONE); |
1104 } | 1049 } |
1105 | 1050 |
1106 #endif | 1051 #endif |
OLD | NEW |