Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(319)

Side by Side Diff: chrome/browser/ui/webui/policy_ui_unittest.cc

Issue 12084065: Convert chrome://policy to new WebUI style (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/policy_ui_browsertest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include <string>
6
7 #include "base/memory/scoped_ptr.h"
8 #include "base/string16.h"
9 #include "base/utf_string_conversions.h"
10 #include "base/values.h"
11 #include "chrome/browser/policy/policy_map.h"
12 #include "chrome/browser/ui/webui/policy_ui.h"
13 #include "grit/generated_resources.h"
14 #include "policy/policy_constants.h"
15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "ui/base/l10n/l10n_util.h"
17
18 namespace policy {
19
20 TEST(PolicyUITest, ListPolicyValues) {
21 base::StringValue kHomepage("http://google.com");
22 base::FundamentalValue kTrue(true);
23 base::FundamentalValue kRestoreOnStartup(4);
24 base::ListValue kRestoreOnStartupURLs;
25 kRestoreOnStartupURLs.Append(base::Value::CreateStringValue("aaa"));
26 kRestoreOnStartupURLs.Append(base::Value::CreateStringValue("bbb"));
27 kRestoreOnStartupURLs.Append(base::Value::CreateStringValue("ccc"));
28
29 PolicyMap policies;
30 policies.Set(key::kRestoreOnStartupURLs, POLICY_LEVEL_MANDATORY,
31 POLICY_SCOPE_USER, kRestoreOnStartupURLs.DeepCopy());
32 policies.Set(key::kHomepageLocation, POLICY_LEVEL_MANDATORY,
33 POLICY_SCOPE_MACHINE, kHomepage.DeepCopy());
34 policies.Set(key::kRestoreOnStartup, POLICY_LEVEL_RECOMMENDED,
35 POLICY_SCOPE_USER, kRestoreOnStartup.DeepCopy());
36 policies.Set(key::kShowHomeButton, POLICY_LEVEL_RECOMMENDED,
37 POLICY_SCOPE_MACHINE, kTrue.DeepCopy());
38
39 bool any_set = false;
40 scoped_ptr<base::ListValue> list(
41 PolicyUIHandler::GetPolicyStatusList(policies, &any_set));
42 ASSERT_TRUE(list.get());
43
44 // The policies are in the order defined in GetChromePolicyDefinitionList(),
45 // which is sorted by name. Defined policies come before undefined policies.
46 const PolicyDefinitionList* policy_list = GetChromePolicyDefinitionList();
47 size_t policy_list_size = policy_list->end - policy_list->begin;
48 EXPECT_EQ(policy_list_size, list->GetSize());
49 EXPECT_TRUE(any_set);
50
51 // Constants to compare against.
52 const string16 kMandatory =
53 l10n_util::GetStringUTF16(IDS_POLICY_LEVEL_MANDATORY);
54 const string16 kRecommended =
55 l10n_util::GetStringUTF16(IDS_POLICY_LEVEL_RECOMMENDED);
56 const string16 kUser =
57 l10n_util::GetStringUTF16(IDS_POLICY_SCOPE_USER);
58 const string16 kMachine =
59 l10n_util::GetStringUTF16(IDS_POLICY_SCOPE_MACHINE);
60 const string16 kOK = l10n_util::GetStringUTF16(IDS_OK);
61 const string16 kNotSet = l10n_util::GetStringUTF16(IDS_POLICY_NOT_SET);
62
63 string16 string;
64 bool boolean;
65 base::Value* value;
66 base::DictionaryValue* dict = NULL;
67 ASSERT_TRUE(list->GetDictionary(0, &dict));
68 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kName, &string));
69 EXPECT_EQ(ASCIIToUTF16("HomepageLocation"), string);
70 EXPECT_TRUE(dict->GetBoolean(PolicyUIHandler::kSet, &boolean));
71 EXPECT_TRUE(boolean);
72 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kLevel, &string));
73 EXPECT_EQ(kMandatory, string);
74 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kScope, &string));
75 EXPECT_EQ(kMachine, string);
76 EXPECT_TRUE(dict->Get(PolicyUIHandler::kValue, &value));
77 EXPECT_TRUE(base::Value::Equals(&kHomepage, value));
78 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kStatus, &string));
79 EXPECT_EQ(kOK, string);
80
81 ASSERT_TRUE(list->GetDictionary(1, &dict));
82 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kName, &string));
83 EXPECT_EQ(ASCIIToUTF16("RestoreOnStartup"), string);
84 EXPECT_TRUE(dict->GetBoolean(PolicyUIHandler::kSet, &boolean));
85 EXPECT_TRUE(boolean);
86 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kLevel, &string));
87 EXPECT_EQ(kRecommended, string);
88 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kScope, &string));
89 EXPECT_EQ(kUser, string);
90 EXPECT_TRUE(dict->Get(PolicyUIHandler::kValue, &value));
91 EXPECT_TRUE(base::Value::Equals(&kRestoreOnStartup, value));
92 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kStatus, &string));
93 EXPECT_EQ(kOK, string);
94
95 ASSERT_TRUE(list->GetDictionary(2, &dict));
96 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kName, &string));
97 EXPECT_EQ(ASCIIToUTF16("RestoreOnStartupURLs"), string);
98 EXPECT_TRUE(dict->GetBoolean(PolicyUIHandler::kSet, &boolean));
99 EXPECT_TRUE(boolean);
100 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kLevel, &string));
101 EXPECT_EQ(kMandatory, string);
102 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kScope, &string));
103 EXPECT_EQ(kUser, string);
104 EXPECT_TRUE(dict->Get(PolicyUIHandler::kValue, &value));
105 EXPECT_TRUE(base::Value::Equals(&kRestoreOnStartupURLs, value));
106 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kStatus, &string));
107 EXPECT_EQ(kOK, string);
108
109 ASSERT_TRUE(list->GetDictionary(3, &dict));
110 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kName, &string));
111 EXPECT_EQ(ASCIIToUTF16("ShowHomeButton"), string);
112 EXPECT_TRUE(dict->GetBoolean(PolicyUIHandler::kSet, &boolean));
113 EXPECT_TRUE(boolean);
114 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kLevel, &string));
115 EXPECT_EQ(kRecommended, string);
116 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kScope, &string));
117 EXPECT_EQ(kMachine, string);
118 EXPECT_TRUE(dict->Get(PolicyUIHandler::kValue, &value));
119 EXPECT_TRUE(base::Value::Equals(&kTrue, value));
120 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kStatus, &string));
121 EXPECT_EQ(kOK, string);
122
123 // All the others should be unset.
124 for (size_t i = 4; i < policy_list_size; ++i) {
125 ASSERT_TRUE(list->GetDictionary(i, &dict));
126 EXPECT_TRUE(dict->GetBoolean(PolicyUIHandler::kSet, &boolean));
127 EXPECT_FALSE(boolean);
128 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kLevel, &string));
129 EXPECT_TRUE(string.empty());
130 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kScope, &string));
131 EXPECT_TRUE(string.empty());
132 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kValue, &string));
133 EXPECT_TRUE(string.empty());
134 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kStatus, &string));
135 EXPECT_EQ(kNotSet, string);
136 }
137 }
138
139 TEST(PolicyUITest, UnknownPolicy) {
140 PolicyMap policies;
141 policies.Set("NoSuchThing", POLICY_LEVEL_MANDATORY,
142 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
143
144 bool any_set = false;
145 scoped_ptr<base::ListValue> list(
146 PolicyUIHandler::GetPolicyStatusList(policies, &any_set));
147 ASSERT_TRUE(list.get());
148 EXPECT_FALSE(any_set);
149
150 ASSERT_GE(list->GetSize(), 1u);
151 const string16 kUnknown = l10n_util::GetStringUTF16(IDS_POLICY_UNKNOWN);
152 string16 string;
153 bool boolean;
154 base::DictionaryValue* dict;
155 ASSERT_TRUE(list->GetDictionary(0, &dict));
156 EXPECT_TRUE(dict->GetBoolean(PolicyUIHandler::kSet, &boolean));
157 EXPECT_TRUE(boolean);
158 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kLevel, &string));
159 EXPECT_TRUE(string.empty());
160 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kScope, &string));
161 EXPECT_TRUE(string.empty());
162 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kValue, &string));
163 EXPECT_TRUE(string.empty());
164 EXPECT_TRUE(dict->GetString(PolicyUIHandler::kStatus, &string));
165 EXPECT_EQ(kUnknown, string);
166 }
167
168 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/policy_ui_browsertest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698