OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/file_path.h" | 5 #include "base/file_path.h" |
6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
7 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 7 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
8 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 8 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
9 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 9 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
10 #include "chrome/browser/prefs/proxy_config_dictionary.h" | 10 #include "chrome/browser/prefs/proxy_config_dictionary.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { | 54 TEST_P(ConfigurationPolicyPrefStoreListTest, GetDefault) { |
55 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 55 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
56 store_->GetValue(GetParam().pref_name(), NULL)); | 56 store_->GetValue(GetParam().pref_name(), NULL)); |
57 } | 57 } |
58 | 58 |
59 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { | 59 TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) { |
60 ListValue* in_value = new ListValue(); | 60 ListValue* in_value = new ListValue(); |
61 in_value->Append(Value::CreateStringValue("test1")); | 61 in_value->Append(Value::CreateStringValue("test1")); |
62 in_value->Append(Value::CreateStringValue("test2,")); | 62 in_value->Append(Value::CreateStringValue("test2,")); |
63 provider_.AddPolicy(GetParam().type(), in_value); | 63 provider_.AddPolicy(GetParam().type(), in_value); |
64 store_->OnUpdatePolicy(); | 64 store_->OnUpdatePolicy(&provider_); |
65 const Value* value = NULL; | 65 const Value* value = NULL; |
66 EXPECT_EQ(PrefStore::READ_OK, | 66 EXPECT_EQ(PrefStore::READ_OK, |
67 store_->GetValue(GetParam().pref_name(), &value)); | 67 store_->GetValue(GetParam().pref_name(), &value)); |
68 ASSERT_TRUE(value); | 68 ASSERT_TRUE(value); |
69 EXPECT_TRUE(in_value->Equals(value)); | 69 EXPECT_TRUE(in_value->Equals(value)); |
70 } | 70 } |
71 | 71 |
72 INSTANTIATE_TEST_CASE_P( | 72 INSTANTIATE_TEST_CASE_P( |
73 ConfigurationPolicyPrefStoreListTestInstance, | 73 ConfigurationPolicyPrefStoreListTestInstance, |
74 ConfigurationPolicyPrefStoreListTest, | 74 ConfigurationPolicyPrefStoreListTest, |
(...skipping 26 matching lines...) Expand all Loading... |
101 }; | 101 }; |
102 | 102 |
103 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { | 103 TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) { |
104 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 104 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
105 store_->GetValue(GetParam().pref_name(), NULL)); | 105 store_->GetValue(GetParam().pref_name(), NULL)); |
106 } | 106 } |
107 | 107 |
108 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { | 108 TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) { |
109 provider_.AddPolicy(GetParam().type(), | 109 provider_.AddPolicy(GetParam().type(), |
110 Value::CreateStringValue("http://chromium.org")); | 110 Value::CreateStringValue("http://chromium.org")); |
111 store_->OnUpdatePolicy(); | 111 store_->OnUpdatePolicy(&provider_); |
112 const Value* value = NULL; | 112 const Value* value = NULL; |
113 EXPECT_EQ(PrefStore::READ_OK, | 113 EXPECT_EQ(PrefStore::READ_OK, |
114 store_->GetValue(GetParam().pref_name(), &value)); | 114 store_->GetValue(GetParam().pref_name(), &value)); |
115 ASSERT_TRUE(value); | 115 ASSERT_TRUE(value); |
116 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); | 116 EXPECT_TRUE(StringValue("http://chromium.org").Equals(value)); |
117 } | 117 } |
118 | 118 |
119 INSTANTIATE_TEST_CASE_P( | 119 INSTANTIATE_TEST_CASE_P( |
120 ConfigurationPolicyPrefStoreStringTestInstance, | 120 ConfigurationPolicyPrefStoreStringTestInstance, |
121 ConfigurationPolicyPrefStoreStringTest, | 121 ConfigurationPolicyPrefStoreStringTest, |
(...skipping 29 matching lines...) Expand all Loading... |
151 testing::TestWithParam<TypeAndName> > { | 151 testing::TestWithParam<TypeAndName> > { |
152 }; | 152 }; |
153 | 153 |
154 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { | 154 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, GetDefault) { |
155 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 155 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
156 store_->GetValue(GetParam().pref_name(), NULL)); | 156 store_->GetValue(GetParam().pref_name(), NULL)); |
157 } | 157 } |
158 | 158 |
159 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { | 159 TEST_P(ConfigurationPolicyPrefStoreBooleanTest, SetValue) { |
160 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(false)); | 160 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(false)); |
161 store_->OnUpdatePolicy(); | 161 store_->OnUpdatePolicy(&provider_); |
162 const Value* value = NULL; | 162 const Value* value = NULL; |
163 EXPECT_EQ(PrefStore::READ_OK, | 163 EXPECT_EQ(PrefStore::READ_OK, |
164 store_->GetValue(GetParam().pref_name(), &value)); | 164 store_->GetValue(GetParam().pref_name(), &value)); |
165 ASSERT_TRUE(value); | 165 ASSERT_TRUE(value); |
166 bool boolean_value = true; | 166 bool boolean_value = true; |
167 bool result = value->GetAsBoolean(&boolean_value); | 167 bool result = value->GetAsBoolean(&boolean_value); |
168 ASSERT_TRUE(result); | 168 ASSERT_TRUE(result); |
169 EXPECT_FALSE(boolean_value); | 169 EXPECT_FALSE(boolean_value); |
170 | 170 |
171 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(true)); | 171 provider_.AddPolicy(GetParam().type(), Value::CreateBooleanValue(true)); |
172 store_->OnUpdatePolicy(); | 172 store_->OnUpdatePolicy(&provider_); |
173 value = NULL; | 173 value = NULL; |
174 EXPECT_EQ(PrefStore::READ_OK, | 174 EXPECT_EQ(PrefStore::READ_OK, |
175 store_->GetValue(GetParam().pref_name(), &value)); | 175 store_->GetValue(GetParam().pref_name(), &value)); |
176 boolean_value = false; | 176 boolean_value = false; |
177 result = value->GetAsBoolean(&boolean_value); | 177 result = value->GetAsBoolean(&boolean_value); |
178 ASSERT_TRUE(result); | 178 ASSERT_TRUE(result); |
179 EXPECT_TRUE(boolean_value); | 179 EXPECT_TRUE(boolean_value); |
180 } | 180 } |
181 | 181 |
182 INSTANTIATE_TEST_CASE_P( | 182 INSTANTIATE_TEST_CASE_P( |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 testing::TestWithParam<TypeAndName> > { | 271 testing::TestWithParam<TypeAndName> > { |
272 }; | 272 }; |
273 | 273 |
274 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { | 274 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, GetDefault) { |
275 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 275 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
276 store_->GetValue(GetParam().pref_name(), NULL)); | 276 store_->GetValue(GetParam().pref_name(), NULL)); |
277 } | 277 } |
278 | 278 |
279 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { | 279 TEST_P(ConfigurationPolicyPrefStoreIntegerTest, SetValue) { |
280 provider_.AddPolicy(GetParam().type(), Value::CreateIntegerValue(2)); | 280 provider_.AddPolicy(GetParam().type(), Value::CreateIntegerValue(2)); |
281 store_->OnUpdatePolicy(); | 281 store_->OnUpdatePolicy(&provider_); |
282 const Value* value = NULL; | 282 const Value* value = NULL; |
283 EXPECT_EQ(PrefStore::READ_OK, | 283 EXPECT_EQ(PrefStore::READ_OK, |
284 store_->GetValue(GetParam().pref_name(), &value)); | 284 store_->GetValue(GetParam().pref_name(), &value)); |
285 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); | 285 EXPECT_TRUE(base::FundamentalValue(2).Equals(value)); |
286 } | 286 } |
287 | 287 |
288 INSTANTIATE_TEST_CASE_P( | 288 INSTANTIATE_TEST_CASE_P( |
289 ConfigurationPolicyPrefStoreIntegerTestInstance, | 289 ConfigurationPolicyPrefStoreIntegerTestInstance, |
290 ConfigurationPolicyPrefStoreIntegerTest, | 290 ConfigurationPolicyPrefStoreIntegerTest, |
291 testing::Values( | 291 testing::Values( |
(...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
819 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 819 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
820 }; | 820 }; |
821 | 821 |
822 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { | 822 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
823 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 823 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
824 store_->GetValue(prefs::kSyncManaged, NULL)); | 824 store_->GetValue(prefs::kSyncManaged, NULL)); |
825 } | 825 } |
826 | 826 |
827 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { | 827 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
828 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); | 828 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); |
829 store_->OnUpdatePolicy(); | 829 store_->OnUpdatePolicy(&provider_); |
830 // Enabling Sync should not set the pref. | 830 // Enabling Sync should not set the pref. |
831 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 831 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
832 store_->GetValue(prefs::kSyncManaged, NULL)); | 832 store_->GetValue(prefs::kSyncManaged, NULL)); |
833 } | 833 } |
834 | 834 |
835 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { | 835 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
836 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); | 836 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); |
837 store_->OnUpdatePolicy(); | 837 store_->OnUpdatePolicy(&provider_); |
838 // Sync should be flagged as managed. | 838 // Sync should be flagged as managed. |
839 const Value* value = NULL; | 839 const Value* value = NULL; |
840 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); | 840 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); |
841 ASSERT_TRUE(value); | 841 ASSERT_TRUE(value); |
842 bool sync_managed = false; | 842 bool sync_managed = false; |
843 bool result = value->GetAsBoolean(&sync_managed); | 843 bool result = value->GetAsBoolean(&sync_managed); |
844 ASSERT_TRUE(result); | 844 ASSERT_TRUE(result); |
845 EXPECT_TRUE(sync_managed); | 845 EXPECT_TRUE(sync_managed); |
846 } | 846 } |
847 | 847 |
848 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy | 848 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy |
849 // influence the PromptForDownload preference. | 849 // influence the PromptForDownload preference. |
850 class ConfigurationPolicyPrefStorePromptDownloadTest | 850 class ConfigurationPolicyPrefStorePromptDownloadTest |
851 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 851 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
852 }; | 852 }; |
853 | 853 |
854 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { | 854 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { |
855 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 855 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
856 store_->GetValue(prefs::kPromptForDownload, NULL)); | 856 store_->GetValue(prefs::kPromptForDownload, NULL)); |
857 } | 857 } |
858 | 858 |
859 #if !defined(OS_CHROMEOS) | 859 #if !defined(OS_CHROMEOS) |
860 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { | 860 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { |
861 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 861 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
862 store_->GetValue(prefs::kPromptForDownload, NULL)); | 862 store_->GetValue(prefs::kPromptForDownload, NULL)); |
863 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); | 863 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); |
864 store_->OnUpdatePolicy(); | 864 store_->OnUpdatePolicy(&provider_); |
865 | 865 |
866 // Setting a DownloadDirectory should disable the PromptForDownload pref. | 866 // Setting a DownloadDirectory should disable the PromptForDownload pref. |
867 const Value* value = NULL; | 867 const Value* value = NULL; |
868 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 868 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
869 &value)); | 869 &value)); |
870 ASSERT_TRUE(value); | 870 ASSERT_TRUE(value); |
871 bool prompt_for_download = true; | 871 bool prompt_for_download = true; |
872 bool result = value->GetAsBoolean(&prompt_for_download); | 872 bool result = value->GetAsBoolean(&prompt_for_download); |
873 ASSERT_TRUE(result); | 873 ASSERT_TRUE(result); |
874 EXPECT_FALSE(prompt_for_download); | 874 EXPECT_FALSE(prompt_for_download); |
875 } | 875 } |
876 #endif // !defined(OS_CHROMEOS) | 876 #endif // !defined(OS_CHROMEOS) |
877 | 877 |
878 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 878 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
879 EnableFileSelectionDialogs) { | 879 EnableFileSelectionDialogs) { |
880 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 880 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
881 store_->GetValue(prefs::kPromptForDownload, NULL)); | 881 store_->GetValue(prefs::kPromptForDownload, NULL)); |
882 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, | 882 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, |
883 Value::CreateBooleanValue(true)); | 883 Value::CreateBooleanValue(true)); |
884 store_->OnUpdatePolicy(); | 884 store_->OnUpdatePolicy(&provider_); |
885 | 885 |
886 // Allowing file-selection dialogs should not influence the PromptForDownload | 886 // Allowing file-selection dialogs should not influence the PromptForDownload |
887 // pref. | 887 // pref. |
888 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 888 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
889 store_->GetValue(prefs::kPromptForDownload, NULL)); | 889 store_->GetValue(prefs::kPromptForDownload, NULL)); |
890 } | 890 } |
891 | 891 |
892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 892 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
893 DisableFileSelectionDialogs) { | 893 DisableFileSelectionDialogs) { |
894 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 894 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
895 store_->GetValue(prefs::kPromptForDownload, NULL)); | 895 store_->GetValue(prefs::kPromptForDownload, NULL)); |
896 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, | 896 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, |
897 Value::CreateBooleanValue(false)); | 897 Value::CreateBooleanValue(false)); |
898 store_->OnUpdatePolicy(); | 898 store_->OnUpdatePolicy(&provider_); |
899 | 899 |
900 // Disabling file-selection dialogs should disable the PromptForDownload pref. | 900 // Disabling file-selection dialogs should disable the PromptForDownload pref. |
901 const Value* value = NULL; | 901 const Value* value = NULL; |
902 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 902 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
903 &value)); | 903 &value)); |
904 ASSERT_TRUE(value); | 904 ASSERT_TRUE(value); |
905 bool prompt_for_download = true; | 905 bool prompt_for_download = true; |
906 bool result = value->GetAsBoolean(&prompt_for_download); | 906 bool result = value->GetAsBoolean(&prompt_for_download); |
907 ASSERT_TRUE(result); | 907 ASSERT_TRUE(result); |
908 EXPECT_FALSE(prompt_for_download); | 908 EXPECT_FALSE(prompt_for_download); |
909 } | 909 } |
910 | 910 |
911 // Test cases for the Autofill policy setting. | 911 // Test cases for the Autofill policy setting. |
912 class ConfigurationPolicyPrefStoreAutofillTest | 912 class ConfigurationPolicyPrefStoreAutofillTest |
913 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 913 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
914 }; | 914 }; |
915 | 915 |
916 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { | 916 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { |
917 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 917 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
918 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 918 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
919 } | 919 } |
920 | 920 |
921 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { | 921 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { |
922 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); | 922 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); |
923 store_->OnUpdatePolicy(); | 923 store_->OnUpdatePolicy(&provider_); |
924 // Enabling Autofill should not set the pref. | 924 // Enabling Autofill should not set the pref. |
925 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 925 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
926 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 926 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
927 } | 927 } |
928 | 928 |
929 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { | 929 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { |
930 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); | 930 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); |
931 store_->OnUpdatePolicy(); | 931 store_->OnUpdatePolicy(&provider_); |
932 // Disabling Autofill should switch the pref to managed. | 932 // Disabling Autofill should switch the pref to managed. |
933 const Value* value = NULL; | 933 const Value* value = NULL; |
934 EXPECT_EQ(PrefStore::READ_OK, | 934 EXPECT_EQ(PrefStore::READ_OK, |
935 store_->GetValue(prefs::kAutofillEnabled, &value)); | 935 store_->GetValue(prefs::kAutofillEnabled, &value)); |
936 ASSERT_TRUE(value); | 936 ASSERT_TRUE(value); |
937 bool autofill_enabled = true; | 937 bool autofill_enabled = true; |
938 bool result = value->GetAsBoolean(&autofill_enabled); | 938 bool result = value->GetAsBoolean(&autofill_enabled); |
939 ASSERT_TRUE(result); | 939 ASSERT_TRUE(result); |
940 EXPECT_FALSE(autofill_enabled); | 940 EXPECT_FALSE(autofill_enabled); |
941 } | 941 } |
(...skipping 14 matching lines...) Expand all Loading... |
956 }; | 956 }; |
957 | 957 |
958 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { | 958 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
959 const Value* value = NULL; | 959 const Value* value = NULL; |
960 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 960 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
961 store_->GetValue(prefs::kHomePage, NULL)); | 961 store_->GetValue(prefs::kHomePage, NULL)); |
962 | 962 |
963 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 963 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
964 provider_.AddPolicy(kPolicyHomepageLocation, | 964 provider_.AddPolicy(kPolicyHomepageLocation, |
965 Value::CreateStringValue("http://www.chromium.org")); | 965 Value::CreateStringValue("http://www.chromium.org")); |
966 store_->OnUpdatePolicy(); | 966 store_->OnUpdatePolicy(&provider_); |
967 Mock::VerifyAndClearExpectations(&observer_); | 967 Mock::VerifyAndClearExpectations(&observer_); |
968 EXPECT_EQ(PrefStore::READ_OK, | 968 EXPECT_EQ(PrefStore::READ_OK, |
969 store_->GetValue(prefs::kHomePage, &value)); | 969 store_->GetValue(prefs::kHomePage, &value)); |
970 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); | 970 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); |
971 | 971 |
972 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); | 972 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
973 store_->OnUpdatePolicy(); | 973 store_->OnUpdatePolicy(&provider_); |
974 Mock::VerifyAndClearExpectations(&observer_); | 974 Mock::VerifyAndClearExpectations(&observer_); |
975 | 975 |
976 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 976 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
977 provider_.RemovePolicy(kPolicyHomepageLocation); | 977 provider_.RemovePolicy(kPolicyHomepageLocation); |
978 store_->OnUpdatePolicy(); | 978 store_->OnUpdatePolicy(&provider_); |
979 Mock::VerifyAndClearExpectations(&observer_); | 979 Mock::VerifyAndClearExpectations(&observer_); |
980 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 980 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
981 store_->GetValue(prefs::kHomePage, NULL)); | 981 store_->GetValue(prefs::kHomePage, NULL)); |
982 } | 982 } |
983 | 983 |
984 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { | 984 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { |
985 EXPECT_FALSE(store_->IsInitializationComplete()); | 985 EXPECT_FALSE(store_->IsInitializationComplete()); |
986 | 986 |
987 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); | 987 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); |
988 | 988 |
989 provider_.SetInitializationComplete(true); | 989 provider_.SetInitializationComplete(true); |
990 EXPECT_FALSE(store_->IsInitializationComplete()); | 990 EXPECT_FALSE(store_->IsInitializationComplete()); |
991 | 991 |
992 store_->OnUpdatePolicy(); | 992 store_->OnUpdatePolicy(&provider_); |
993 Mock::VerifyAndClearExpectations(&observer_); | 993 Mock::VerifyAndClearExpectations(&observer_); |
994 EXPECT_TRUE(store_->IsInitializationComplete()); | 994 EXPECT_TRUE(store_->IsInitializationComplete()); |
995 } | 995 } |
996 | 996 |
997 // Tests for policies that don't quite fit the previous patterns. | 997 // Tests for policies that don't quite fit the previous patterns. |
998 class ConfigurationPolicyPrefStoreOthersTest | 998 class ConfigurationPolicyPrefStoreOthersTest |
999 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 999 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
1000 }; | 1000 }; |
1001 | 1001 |
1002 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { | 1002 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
1003 // This is a boolean policy, but affects an integer preference. | 1003 // This is a boolean policy, but affects an integer preference. |
1004 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1004 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1005 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1005 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1006 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1006 provider_.AddPolicy(kPolicyJavascriptEnabled, |
1007 Value::CreateBooleanValue(true)); | 1007 Value::CreateBooleanValue(true)); |
1008 store_->OnUpdatePolicy(); | 1008 store_->OnUpdatePolicy(&provider_); |
1009 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1009 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1010 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1010 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1011 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1011 provider_.AddPolicy(kPolicyJavascriptEnabled, |
1012 Value::CreateBooleanValue(false)); | 1012 Value::CreateBooleanValue(false)); |
1013 store_->OnUpdatePolicy(); | 1013 store_->OnUpdatePolicy(&provider_); |
1014 const Value* value = NULL; | 1014 const Value* value = NULL; |
1015 EXPECT_EQ(PrefStore::READ_OK, | 1015 EXPECT_EQ(PrefStore::READ_OK, |
1016 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1016 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1017 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1017 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
1018 } | 1018 } |
1019 | 1019 |
1020 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { | 1020 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { |
1021 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1021 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1022 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1022 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1023 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1023 provider_.AddPolicy(kPolicyJavascriptEnabled, |
1024 Value::CreateBooleanValue(false)); | 1024 Value::CreateBooleanValue(false)); |
1025 store_->OnUpdatePolicy(); | 1025 store_->OnUpdatePolicy(&provider_); |
1026 const Value* value = NULL; | 1026 const Value* value = NULL; |
1027 EXPECT_EQ(PrefStore::READ_OK, | 1027 EXPECT_EQ(PrefStore::READ_OK, |
1028 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1028 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1029 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1029 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
1030 // DefaultJavaScriptSetting overrides JavascriptEnabled. | 1030 // DefaultJavaScriptSetting overrides JavascriptEnabled. |
1031 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, | 1031 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, |
1032 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); | 1032 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
1033 store_->OnUpdatePolicy(); | 1033 store_->OnUpdatePolicy(&provider_); |
1034 EXPECT_EQ(PrefStore::READ_OK, | 1034 EXPECT_EQ(PrefStore::READ_OK, |
1035 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1035 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1036 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); | 1036 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |
1037 } | 1037 } |
1038 | 1038 |
1039 } // namespace policy | 1039 } // namespace policy |
OLD | NEW |