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 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
823 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 823 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
824 }; | 824 }; |
825 | 825 |
826 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { | 826 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) { |
827 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 827 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
828 store_->GetValue(prefs::kSyncManaged, NULL)); | 828 store_->GetValue(prefs::kSyncManaged, NULL)); |
829 } | 829 } |
830 | 830 |
831 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { | 831 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) { |
832 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); | 832 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(false)); |
833 store_->OnUpdatePolicy(); | 833 store_->OnUpdatePolicy(&provider_); |
834 // Enabling Sync should not set the pref. | 834 // Enabling Sync should not set the pref. |
835 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 835 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
836 store_->GetValue(prefs::kSyncManaged, NULL)); | 836 store_->GetValue(prefs::kSyncManaged, NULL)); |
837 } | 837 } |
838 | 838 |
839 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { | 839 TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) { |
840 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); | 840 provider_.AddPolicy(kPolicySyncDisabled, Value::CreateBooleanValue(true)); |
841 store_->OnUpdatePolicy(); | 841 store_->OnUpdatePolicy(&provider_); |
842 // Sync should be flagged as managed. | 842 // Sync should be flagged as managed. |
843 const Value* value = NULL; | 843 const Value* value = NULL; |
844 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); | 844 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kSyncManaged, &value)); |
845 ASSERT_TRUE(value); | 845 ASSERT_TRUE(value); |
846 bool sync_managed = false; | 846 bool sync_managed = false; |
847 bool result = value->GetAsBoolean(&sync_managed); | 847 bool result = value->GetAsBoolean(&sync_managed); |
848 ASSERT_TRUE(result); | 848 ASSERT_TRUE(result); |
849 EXPECT_TRUE(sync_managed); | 849 EXPECT_TRUE(sync_managed); |
850 } | 850 } |
851 | 851 |
852 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy | 852 // Test cases for how the DownloadDirectory and AllowFileSelectionDialogs policy |
853 // influence the PromptForDownload preference. | 853 // influence the PromptForDownload preference. |
854 class ConfigurationPolicyPrefStorePromptDownloadTest | 854 class ConfigurationPolicyPrefStorePromptDownloadTest |
855 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 855 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
856 }; | 856 }; |
857 | 857 |
858 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { | 858 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, Default) { |
859 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 859 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
860 store_->GetValue(prefs::kPromptForDownload, NULL)); | 860 store_->GetValue(prefs::kPromptForDownload, NULL)); |
861 } | 861 } |
862 | 862 |
863 #if !defined(OS_CHROMEOS) | 863 #if !defined(OS_CHROMEOS) |
864 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { | 864 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, SetDownloadDirectory) { |
865 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 865 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
866 store_->GetValue(prefs::kPromptForDownload, NULL)); | 866 store_->GetValue(prefs::kPromptForDownload, NULL)); |
867 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); | 867 provider_.AddPolicy(kPolicyDownloadDirectory, Value::CreateStringValue("")); |
868 store_->OnUpdatePolicy(); | 868 store_->OnUpdatePolicy(&provider_); |
869 | 869 |
870 // Setting a DownloadDirectory should disable the PromptForDownload pref. | 870 // Setting a DownloadDirectory should disable the PromptForDownload pref. |
871 const Value* value = NULL; | 871 const Value* value = NULL; |
872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 872 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
873 &value)); | 873 &value)); |
874 ASSERT_TRUE(value); | 874 ASSERT_TRUE(value); |
875 bool prompt_for_download = true; | 875 bool prompt_for_download = true; |
876 bool result = value->GetAsBoolean(&prompt_for_download); | 876 bool result = value->GetAsBoolean(&prompt_for_download); |
877 ASSERT_TRUE(result); | 877 ASSERT_TRUE(result); |
878 EXPECT_FALSE(prompt_for_download); | 878 EXPECT_FALSE(prompt_for_download); |
879 } | 879 } |
880 #endif // !defined(OS_CHROMEOS) | 880 #endif // !defined(OS_CHROMEOS) |
881 | 881 |
882 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 882 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
883 EnableFileSelectionDialogs) { | 883 EnableFileSelectionDialogs) { |
884 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 884 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
885 store_->GetValue(prefs::kPromptForDownload, NULL)); | 885 store_->GetValue(prefs::kPromptForDownload, NULL)); |
886 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, | 886 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, |
887 Value::CreateBooleanValue(true)); | 887 Value::CreateBooleanValue(true)); |
888 store_->OnUpdatePolicy(); | 888 store_->OnUpdatePolicy(&provider_); |
889 | 889 |
890 // Allowing file-selection dialogs should not influence the PromptForDownload | 890 // Allowing file-selection dialogs should not influence the PromptForDownload |
891 // pref. | 891 // pref. |
892 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 892 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
893 store_->GetValue(prefs::kPromptForDownload, NULL)); | 893 store_->GetValue(prefs::kPromptForDownload, NULL)); |
894 } | 894 } |
895 | 895 |
896 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, | 896 TEST_F(ConfigurationPolicyPrefStorePromptDownloadTest, |
897 DisableFileSelectionDialogs) { | 897 DisableFileSelectionDialogs) { |
898 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 898 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
899 store_->GetValue(prefs::kPromptForDownload, NULL)); | 899 store_->GetValue(prefs::kPromptForDownload, NULL)); |
900 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, | 900 provider_.AddPolicy(kPolicyAllowFileSelectionDialogs, |
901 Value::CreateBooleanValue(false)); | 901 Value::CreateBooleanValue(false)); |
902 store_->OnUpdatePolicy(); | 902 store_->OnUpdatePolicy(&provider_); |
903 | 903 |
904 // Disabling file-selection dialogs should disable the PromptForDownload pref. | 904 // Disabling file-selection dialogs should disable the PromptForDownload pref. |
905 const Value* value = NULL; | 905 const Value* value = NULL; |
906 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, | 906 EXPECT_EQ(PrefStore::READ_OK, store_->GetValue(prefs::kPromptForDownload, |
907 &value)); | 907 &value)); |
908 ASSERT_TRUE(value); | 908 ASSERT_TRUE(value); |
909 bool prompt_for_download = true; | 909 bool prompt_for_download = true; |
910 bool result = value->GetAsBoolean(&prompt_for_download); | 910 bool result = value->GetAsBoolean(&prompt_for_download); |
911 ASSERT_TRUE(result); | 911 ASSERT_TRUE(result); |
912 EXPECT_FALSE(prompt_for_download); | 912 EXPECT_FALSE(prompt_for_download); |
913 } | 913 } |
914 | 914 |
915 // Test cases for the Autofill policy setting. | 915 // Test cases for the Autofill policy setting. |
916 class ConfigurationPolicyPrefStoreAutofillTest | 916 class ConfigurationPolicyPrefStoreAutofillTest |
917 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 917 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
918 }; | 918 }; |
919 | 919 |
920 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { | 920 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Default) { |
921 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 921 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
922 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 922 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
923 } | 923 } |
924 | 924 |
925 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { | 925 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Enabled) { |
926 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); | 926 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true)); |
927 store_->OnUpdatePolicy(); | 927 store_->OnUpdatePolicy(&provider_); |
928 // Enabling Autofill should not set the pref. | 928 // Enabling Autofill should not set the pref. |
929 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 929 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
930 store_->GetValue(prefs::kAutofillEnabled, NULL)); | 930 store_->GetValue(prefs::kAutofillEnabled, NULL)); |
931 } | 931 } |
932 | 932 |
933 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { | 933 TEST_F(ConfigurationPolicyPrefStoreAutofillTest, Disabled) { |
934 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); | 934 provider_.AddPolicy(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false)); |
935 store_->OnUpdatePolicy(); | 935 store_->OnUpdatePolicy(&provider_); |
936 // Disabling Autofill should switch the pref to managed. | 936 // Disabling Autofill should switch the pref to managed. |
937 const Value* value = NULL; | 937 const Value* value = NULL; |
938 EXPECT_EQ(PrefStore::READ_OK, | 938 EXPECT_EQ(PrefStore::READ_OK, |
939 store_->GetValue(prefs::kAutofillEnabled, &value)); | 939 store_->GetValue(prefs::kAutofillEnabled, &value)); |
940 ASSERT_TRUE(value); | 940 ASSERT_TRUE(value); |
941 bool autofill_enabled = true; | 941 bool autofill_enabled = true; |
942 bool result = value->GetAsBoolean(&autofill_enabled); | 942 bool result = value->GetAsBoolean(&autofill_enabled); |
943 ASSERT_TRUE(result); | 943 ASSERT_TRUE(result); |
944 EXPECT_FALSE(autofill_enabled); | 944 EXPECT_FALSE(autofill_enabled); |
945 } | 945 } |
(...skipping 14 matching lines...) Expand all Loading... |
960 }; | 960 }; |
961 | 961 |
962 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { | 962 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Refresh) { |
963 const Value* value = NULL; | 963 const Value* value = NULL; |
964 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 964 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
965 store_->GetValue(prefs::kHomePage, NULL)); | 965 store_->GetValue(prefs::kHomePage, NULL)); |
966 | 966 |
967 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 967 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
968 provider_.AddPolicy(kPolicyHomepageLocation, | 968 provider_.AddPolicy(kPolicyHomepageLocation, |
969 Value::CreateStringValue("http://www.chromium.org")); | 969 Value::CreateStringValue("http://www.chromium.org")); |
970 store_->OnUpdatePolicy(); | 970 store_->OnUpdatePolicy(&provider_); |
971 Mock::VerifyAndClearExpectations(&observer_); | 971 Mock::VerifyAndClearExpectations(&observer_); |
972 EXPECT_EQ(PrefStore::READ_OK, | 972 EXPECT_EQ(PrefStore::READ_OK, |
973 store_->GetValue(prefs::kHomePage, &value)); | 973 store_->GetValue(prefs::kHomePage, &value)); |
974 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); | 974 EXPECT_TRUE(StringValue("http://www.chromium.org").Equals(value)); |
975 | 975 |
976 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); | 976 EXPECT_CALL(observer_, OnPrefValueChanged(_)).Times(0); |
977 store_->OnUpdatePolicy(); | 977 store_->OnUpdatePolicy(&provider_); |
978 Mock::VerifyAndClearExpectations(&observer_); | 978 Mock::VerifyAndClearExpectations(&observer_); |
979 | 979 |
980 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); | 980 EXPECT_CALL(observer_, OnPrefValueChanged(prefs::kHomePage)).Times(1); |
981 provider_.RemovePolicy(kPolicyHomepageLocation); | 981 provider_.RemovePolicy(kPolicyHomepageLocation); |
982 store_->OnUpdatePolicy(); | 982 store_->OnUpdatePolicy(&provider_); |
983 Mock::VerifyAndClearExpectations(&observer_); | 983 Mock::VerifyAndClearExpectations(&observer_); |
984 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 984 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
985 store_->GetValue(prefs::kHomePage, NULL)); | 985 store_->GetValue(prefs::kHomePage, NULL)); |
986 } | 986 } |
987 | 987 |
988 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { | 988 TEST_F(ConfigurationPolicyPrefStoreRefreshTest, Initialization) { |
989 EXPECT_FALSE(store_->IsInitializationComplete()); | 989 EXPECT_FALSE(store_->IsInitializationComplete()); |
990 | 990 |
991 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); | 991 EXPECT_CALL(observer_, OnInitializationCompleted(true)).Times(1); |
992 | 992 |
993 provider_.SetInitializationComplete(true); | 993 provider_.SetInitializationComplete(true); |
994 EXPECT_FALSE(store_->IsInitializationComplete()); | 994 EXPECT_FALSE(store_->IsInitializationComplete()); |
995 | 995 |
996 store_->OnUpdatePolicy(); | 996 store_->OnUpdatePolicy(&provider_); |
997 Mock::VerifyAndClearExpectations(&observer_); | 997 Mock::VerifyAndClearExpectations(&observer_); |
998 EXPECT_TRUE(store_->IsInitializationComplete()); | 998 EXPECT_TRUE(store_->IsInitializationComplete()); |
999 } | 999 } |
1000 | 1000 |
1001 // Tests for policies that don't quite fit the previous patterns. | 1001 // Tests for policies that don't quite fit the previous patterns. |
1002 class ConfigurationPolicyPrefStoreOthersTest | 1002 class ConfigurationPolicyPrefStoreOthersTest |
1003 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { | 1003 : public ConfigurationPolicyPrefStoreTestBase<testing::Test> { |
1004 }; | 1004 }; |
1005 | 1005 |
1006 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { | 1006 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabled) { |
1007 // This is a boolean policy, but affects an integer preference. | 1007 // This is a boolean policy, but affects an integer preference. |
1008 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1008 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1009 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1009 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1010 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1010 provider_.AddPolicy(kPolicyJavascriptEnabled, |
1011 Value::CreateBooleanValue(true)); | 1011 Value::CreateBooleanValue(true)); |
1012 store_->OnUpdatePolicy(); | 1012 store_->OnUpdatePolicy(&provider_); |
1013 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1013 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1014 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1014 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1015 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1015 provider_.AddPolicy(kPolicyJavascriptEnabled, |
1016 Value::CreateBooleanValue(false)); | 1016 Value::CreateBooleanValue(false)); |
1017 store_->OnUpdatePolicy(); | 1017 store_->OnUpdatePolicy(&provider_); |
1018 const Value* value = NULL; | 1018 const Value* value = NULL; |
1019 EXPECT_EQ(PrefStore::READ_OK, | 1019 EXPECT_EQ(PrefStore::READ_OK, |
1020 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1020 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1021 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1021 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
1022 } | 1022 } |
1023 | 1023 |
1024 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { | 1024 TEST_F(ConfigurationPolicyPrefStoreOthersTest, JavascriptEnabledOverridden) { |
1025 EXPECT_EQ(PrefStore::READ_NO_VALUE, | 1025 EXPECT_EQ(PrefStore::READ_NO_VALUE, |
1026 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 1026 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
1027 provider_.AddPolicy(kPolicyJavascriptEnabled, | 1027 provider_.AddPolicy(kPolicyJavascriptEnabled, |
1028 Value::CreateBooleanValue(false)); | 1028 Value::CreateBooleanValue(false)); |
1029 store_->OnUpdatePolicy(); | 1029 store_->OnUpdatePolicy(&provider_); |
1030 const Value* value = NULL; | 1030 const Value* value = NULL; |
1031 EXPECT_EQ(PrefStore::READ_OK, | 1031 EXPECT_EQ(PrefStore::READ_OK, |
1032 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1032 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1033 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 1033 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
1034 // DefaultJavaScriptSetting overrides JavascriptEnabled. | 1034 // DefaultJavaScriptSetting overrides JavascriptEnabled. |
1035 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, | 1035 provider_.AddPolicy(kPolicyDefaultJavaScriptSetting, |
1036 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); | 1036 Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); |
1037 store_->OnUpdatePolicy(); | 1037 store_->OnUpdatePolicy(&provider_); |
1038 EXPECT_EQ(PrefStore::READ_OK, | 1038 EXPECT_EQ(PrefStore::READ_OK, |
1039 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); | 1039 store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, &value)); |
1040 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); | 1040 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |
1041 } | 1041 } |
1042 | 1042 |
1043 } // namespace policy | 1043 } // namespace policy |
OLD | NEW |