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

Side by Side Diff: chrome/test/chromedriver/capabilities_unittest.cc

Issue 19773012: [chromedriver] Accept loadAsync as a non-op chromeOption. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unittest. Created 7 years, 4 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/test/chromedriver/capabilities.cc ('k') | chrome/test/chromedriver/commands.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/test/chromedriver/capabilities.h" 5 #include "chrome/test/chromedriver/capabilities.h"
6 6
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "chrome/test/chromedriver/chrome/log.h"
8 #include "chrome/test/chromedriver/chrome/status.h" 9 #include "chrome/test/chromedriver/chrome/status.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 11
11 TEST(ParseCapabilities, WithAndroidPackage) { 12 TEST(ParseCapabilities, WithAndroidPackage) {
12 Capabilities capabilities; 13 Capabilities capabilities;
13 base::DictionaryValue caps; 14 base::DictionaryValue caps;
14 caps.SetString("chromeOptions.androidPackage", "abc"); 15 caps.SetString("chromeOptions.androidPackage", "abc");
15 Status status = capabilities.Parse(caps); 16 Logger log(Log::kError);
17 Status status = capabilities.Parse(caps, &log);
16 ASSERT_TRUE(status.IsOk()); 18 ASSERT_TRUE(status.IsOk());
17 ASSERT_TRUE(capabilities.IsAndroid()); 19 ASSERT_TRUE(capabilities.IsAndroid());
18 ASSERT_EQ("abc", capabilities.android_package); 20 ASSERT_EQ("abc", capabilities.android_package);
19 } 21 }
20 22
21 TEST(ParseCapabilities, EmptyAndroidPackage) { 23 TEST(ParseCapabilities, EmptyAndroidPackage) {
22 Capabilities capabilities; 24 Capabilities capabilities;
23 base::DictionaryValue caps; 25 base::DictionaryValue caps;
24 caps.SetString("chromeOptions.androidPackage", std::string()); 26 caps.SetString("chromeOptions.androidPackage", std::string());
25 Status status = capabilities.Parse(caps); 27 Logger log(Log::kError);
28 Status status = capabilities.Parse(caps, &log);
26 ASSERT_FALSE(status.IsOk()); 29 ASSERT_FALSE(status.IsOk());
27 } 30 }
28 31
29 TEST(ParseCapabilities, IllegalAndroidPackage) { 32 TEST(ParseCapabilities, IllegalAndroidPackage) {
30 Capabilities capabilities; 33 Capabilities capabilities;
31 base::DictionaryValue caps; 34 base::DictionaryValue caps;
32 caps.SetInteger("chromeOptions.androidPackage", 123); 35 caps.SetInteger("chromeOptions.androidPackage", 123);
33 Status status = capabilities.Parse(caps); 36 Logger log(Log::kError);
37 Status status = capabilities.Parse(caps, &log);
34 ASSERT_FALSE(status.IsOk()); 38 ASSERT_FALSE(status.IsOk());
35 } 39 }
36 40
37 TEST(ParseCapabilities, LogPath) { 41 TEST(ParseCapabilities, LogPath) {
38 Capabilities capabilities; 42 Capabilities capabilities;
39 base::DictionaryValue caps; 43 base::DictionaryValue caps;
40 caps.SetString("chromeOptions.logPath", "path/to/logfile"); 44 caps.SetString("chromeOptions.logPath", "path/to/logfile");
41 Status status = capabilities.Parse(caps); 45 Logger log(Log::kError);
46 Status status = capabilities.Parse(caps, &log);
42 ASSERT_TRUE(status.IsOk()); 47 ASSERT_TRUE(status.IsOk());
43 ASSERT_STREQ("path/to/logfile", capabilities.log_path.c_str()); 48 ASSERT_STREQ("path/to/logfile", capabilities.log_path.c_str());
44 } 49 }
45 50
46 TEST(ParseCapabilities, NoArgs) { 51 TEST(ParseCapabilities, NoArgs) {
47 Capabilities capabilities; 52 Capabilities capabilities;
48 base::ListValue args; 53 base::ListValue args;
49 ASSERT_TRUE(args.empty()); 54 ASSERT_TRUE(args.empty());
50 base::DictionaryValue caps; 55 base::DictionaryValue caps;
51 caps.Set("chromeOptions.args", args.DeepCopy()); 56 caps.Set("chromeOptions.args", args.DeepCopy());
52 Status status = capabilities.Parse(caps); 57 Logger log(Log::kError);
58 Status status = capabilities.Parse(caps, &log);
53 ASSERT_TRUE(status.IsOk()); 59 ASSERT_TRUE(status.IsOk());
54 ASSERT_TRUE(capabilities.command.GetSwitches().empty()); 60 ASSERT_TRUE(capabilities.command.GetSwitches().empty());
55 } 61 }
56 62
57 TEST(ParseCapabilities, SingleArgWithoutValue) { 63 TEST(ParseCapabilities, SingleArgWithoutValue) {
58 Capabilities capabilities; 64 Capabilities capabilities;
59 base::ListValue args; 65 base::ListValue args;
60 args.AppendString("enable-nacl"); 66 args.AppendString("enable-nacl");
61 ASSERT_EQ(1u, args.GetSize()); 67 ASSERT_EQ(1u, args.GetSize());
62 base::DictionaryValue caps; 68 base::DictionaryValue caps;
63 caps.Set("chromeOptions.args", args.DeepCopy()); 69 caps.Set("chromeOptions.args", args.DeepCopy());
64 Status status = capabilities.Parse(caps); 70 Logger log(Log::kError);
71 Status status = capabilities.Parse(caps, &log);
65 ASSERT_TRUE(status.IsOk()); 72 ASSERT_TRUE(status.IsOk());
66 ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); 73 ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
67 ASSERT_TRUE(capabilities.command.HasSwitch("enable-nacl")); 74 ASSERT_TRUE(capabilities.command.HasSwitch("enable-nacl"));
68 } 75 }
69 76
70 TEST(ParseCapabilities, SingleArgWithValue) { 77 TEST(ParseCapabilities, SingleArgWithValue) {
71 Capabilities capabilities; 78 Capabilities capabilities;
72 base::ListValue args; 79 base::ListValue args;
73 args.AppendString("load-extension=/test/extension"); 80 args.AppendString("load-extension=/test/extension");
74 ASSERT_EQ(1u, args.GetSize()); 81 ASSERT_EQ(1u, args.GetSize());
75 base::DictionaryValue caps; 82 base::DictionaryValue caps;
76 caps.Set("chromeOptions.args", args.DeepCopy()); 83 caps.Set("chromeOptions.args", args.DeepCopy());
77 Status status = capabilities.Parse(caps); 84 Logger log(Log::kError);
85 Status status = capabilities.Parse(caps, &log);
78 ASSERT_TRUE(status.IsOk()); 86 ASSERT_TRUE(status.IsOk());
79 ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); 87 ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
80 ASSERT_TRUE(capabilities.command.HasSwitch("load-extension")); 88 ASSERT_TRUE(capabilities.command.HasSwitch("load-extension"));
81 ASSERT_STREQ( 89 ASSERT_STREQ(
82 "/test/extension", 90 "/test/extension",
83 capabilities.command.GetSwitchValueASCII("load-extension").c_str()); 91 capabilities.command.GetSwitchValueASCII("load-extension").c_str());
84 } 92 }
85 93
86 TEST(ParseCapabilities, MultipleArgs) { 94 TEST(ParseCapabilities, MultipleArgs) {
87 Capabilities capabilities; 95 Capabilities capabilities;
88 base::ListValue args; 96 base::ListValue args;
89 args.AppendString("arg1"); 97 args.AppendString("arg1");
90 args.AppendString("arg2=val"); 98 args.AppendString("arg2=val");
91 args.AppendString("arg3='a space'"); 99 args.AppendString("arg3='a space'");
92 ASSERT_EQ(3u, args.GetSize()); 100 ASSERT_EQ(3u, args.GetSize());
93 base::DictionaryValue caps; 101 base::DictionaryValue caps;
94 caps.Set("chromeOptions.args", args.DeepCopy()); 102 caps.Set("chromeOptions.args", args.DeepCopy());
95 Status status = capabilities.Parse(caps); 103 Logger log(Log::kError);
104 Status status = capabilities.Parse(caps, &log);
96 ASSERT_TRUE(status.IsOk()); 105 ASSERT_TRUE(status.IsOk());
97 ASSERT_EQ(3u, capabilities.command.GetSwitches().size()); 106 ASSERT_EQ(3u, capabilities.command.GetSwitches().size());
98 ASSERT_TRUE(capabilities.command.HasSwitch("arg1")); 107 ASSERT_TRUE(capabilities.command.HasSwitch("arg1"));
99 ASSERT_TRUE(capabilities.command.HasSwitch("arg2")); 108 ASSERT_TRUE(capabilities.command.HasSwitch("arg2"));
100 ASSERT_STREQ("val", capabilities.command.GetSwitchValueASCII("arg2").c_str()); 109 ASSERT_STREQ("val", capabilities.command.GetSwitchValueASCII("arg2").c_str());
101 ASSERT_TRUE(capabilities.command.HasSwitch("arg3")); 110 ASSERT_TRUE(capabilities.command.HasSwitch("arg3"));
102 ASSERT_STREQ("'a space'", 111 ASSERT_STREQ("'a space'",
103 capabilities.command.GetSwitchValueASCII("arg3").c_str()); 112 capabilities.command.GetSwitchValueASCII("arg3").c_str());
104 } 113 }
105 114
106 TEST(ParseCapabilities, Prefs) { 115 TEST(ParseCapabilities, Prefs) {
107 Capabilities capabilities; 116 Capabilities capabilities;
108 base::DictionaryValue prefs; 117 base::DictionaryValue prefs;
109 prefs.SetString("key1", "value1"); 118 prefs.SetString("key1", "value1");
110 prefs.SetString("key2.k", "value2"); 119 prefs.SetString("key2.k", "value2");
111 base::DictionaryValue caps; 120 base::DictionaryValue caps;
112 caps.Set("chromeOptions.prefs", prefs.DeepCopy()); 121 caps.Set("chromeOptions.prefs", prefs.DeepCopy());
113 Status status = capabilities.Parse(caps); 122 Logger log(Log::kError);
123 Status status = capabilities.Parse(caps, &log);
114 ASSERT_TRUE(status.IsOk()); 124 ASSERT_TRUE(status.IsOk());
115 ASSERT_TRUE(capabilities.prefs->Equals(&prefs)); 125 ASSERT_TRUE(capabilities.prefs->Equals(&prefs));
116 } 126 }
117 127
118 TEST(ParseCapabilities, LocalState) { 128 TEST(ParseCapabilities, LocalState) {
119 Capabilities capabilities; 129 Capabilities capabilities;
120 base::DictionaryValue local_state; 130 base::DictionaryValue local_state;
121 local_state.SetString("s1", "v1"); 131 local_state.SetString("s1", "v1");
122 local_state.SetString("s2.s", "v2"); 132 local_state.SetString("s2.s", "v2");
123 base::DictionaryValue caps; 133 base::DictionaryValue caps;
124 caps.Set("chromeOptions.localState", local_state.DeepCopy()); 134 caps.Set("chromeOptions.localState", local_state.DeepCopy());
125 Status status = capabilities.Parse(caps); 135 Logger log(Log::kError);
136 Status status = capabilities.Parse(caps, &log);
126 ASSERT_TRUE(status.IsOk()); 137 ASSERT_TRUE(status.IsOk());
127 ASSERT_TRUE(capabilities.local_state->Equals(&local_state)); 138 ASSERT_TRUE(capabilities.local_state->Equals(&local_state));
128 } 139 }
129 140
130 TEST(ParseCapabilities, Extensions) { 141 TEST(ParseCapabilities, Extensions) {
131 Capabilities capabilities; 142 Capabilities capabilities;
132 base::ListValue extensions; 143 base::ListValue extensions;
133 extensions.AppendString("ext1"); 144 extensions.AppendString("ext1");
134 extensions.AppendString("ext2"); 145 extensions.AppendString("ext2");
135 base::DictionaryValue caps; 146 base::DictionaryValue caps;
136 caps.Set("chromeOptions.extensions", extensions.DeepCopy()); 147 caps.Set("chromeOptions.extensions", extensions.DeepCopy());
137 Status status = capabilities.Parse(caps); 148 Logger log(Log::kError);
149 Status status = capabilities.Parse(caps, &log);
138 ASSERT_TRUE(status.IsOk()); 150 ASSERT_TRUE(status.IsOk());
139 ASSERT_EQ(2u, capabilities.extensions.size()); 151 ASSERT_EQ(2u, capabilities.extensions.size());
140 ASSERT_EQ("ext1", capabilities.extensions[0]); 152 ASSERT_EQ("ext1", capabilities.extensions[0]);
141 ASSERT_EQ("ext2", capabilities.extensions[1]); 153 ASSERT_EQ("ext2", capabilities.extensions[1]);
142 } 154 }
143 155
144 TEST(ParseCapabilities, UnrecognizedProxyType) { 156 TEST(ParseCapabilities, UnrecognizedProxyType) {
145 Capabilities capabilities; 157 Capabilities capabilities;
146 base::DictionaryValue proxy; 158 base::DictionaryValue proxy;
147 proxy.SetString("proxyType", "unknown proxy type"); 159 proxy.SetString("proxyType", "unknown proxy type");
148 base::DictionaryValue caps; 160 base::DictionaryValue caps;
149 caps.Set("proxy", proxy.DeepCopy()); 161 caps.Set("proxy", proxy.DeepCopy());
150 Status status = capabilities.Parse(caps); 162 Logger log(Log::kError);
163 Status status = capabilities.Parse(caps, &log);
151 ASSERT_FALSE(status.IsOk()); 164 ASSERT_FALSE(status.IsOk());
152 } 165 }
153 166
154 TEST(ParseCapabilities, IllegalProxyType) { 167 TEST(ParseCapabilities, IllegalProxyType) {
155 Capabilities capabilities; 168 Capabilities capabilities;
156 base::DictionaryValue proxy; 169 base::DictionaryValue proxy;
157 proxy.SetInteger("proxyType", 123); 170 proxy.SetInteger("proxyType", 123);
158 base::DictionaryValue caps; 171 base::DictionaryValue caps;
159 caps.Set("proxy", proxy.DeepCopy()); 172 caps.Set("proxy", proxy.DeepCopy());
160 Status status = capabilities.Parse(caps); 173 Logger log(Log::kError);
174 Status status = capabilities.Parse(caps, &log);
161 ASSERT_FALSE(status.IsOk()); 175 ASSERT_FALSE(status.IsOk());
162 } 176 }
163 177
164 TEST(ParseCapabilities, DirectProxy) { 178 TEST(ParseCapabilities, DirectProxy) {
165 Capabilities capabilities; 179 Capabilities capabilities;
166 base::DictionaryValue proxy; 180 base::DictionaryValue proxy;
167 proxy.SetString("proxyType", "DIRECT"); 181 proxy.SetString("proxyType", "DIRECT");
168 base::DictionaryValue caps; 182 base::DictionaryValue caps;
169 caps.Set("proxy", proxy.DeepCopy()); 183 caps.Set("proxy", proxy.DeepCopy());
170 Status status = capabilities.Parse(caps); 184 Logger log(Log::kError);
185 Status status = capabilities.Parse(caps, &log);
171 ASSERT_TRUE(status.IsOk()); 186 ASSERT_TRUE(status.IsOk());
172 ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); 187 ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
173 ASSERT_TRUE(capabilities.command.HasSwitch("no-proxy-server")); 188 ASSERT_TRUE(capabilities.command.HasSwitch("no-proxy-server"));
174 } 189 }
175 190
176 TEST(ParseCapabilities, SystemProxy) { 191 TEST(ParseCapabilities, SystemProxy) {
177 Capabilities capabilities; 192 Capabilities capabilities;
178 base::DictionaryValue proxy; 193 base::DictionaryValue proxy;
179 proxy.SetString("proxyType", "system"); 194 proxy.SetString("proxyType", "system");
180 base::DictionaryValue caps; 195 base::DictionaryValue caps;
181 caps.Set("proxy", proxy.DeepCopy()); 196 caps.Set("proxy", proxy.DeepCopy());
182 Status status = capabilities.Parse(caps); 197 Logger log(Log::kError);
198 Status status = capabilities.Parse(caps, &log);
183 ASSERT_TRUE(status.IsOk()); 199 ASSERT_TRUE(status.IsOk());
184 ASSERT_TRUE(capabilities.command.GetSwitches().empty()); 200 ASSERT_TRUE(capabilities.command.GetSwitches().empty());
185 } 201 }
186 202
187 TEST(ParseCapabilities, PacProxy) { 203 TEST(ParseCapabilities, PacProxy) {
188 Capabilities capabilities; 204 Capabilities capabilities;
189 base::DictionaryValue proxy; 205 base::DictionaryValue proxy;
190 proxy.SetString("proxyType", "PAC"); 206 proxy.SetString("proxyType", "PAC");
191 proxy.SetString("proxyAutoconfigUrl", "test.wpad"); 207 proxy.SetString("proxyAutoconfigUrl", "test.wpad");
192 base::DictionaryValue caps; 208 base::DictionaryValue caps;
193 caps.Set("proxy", proxy.DeepCopy()); 209 caps.Set("proxy", proxy.DeepCopy());
194 Status status = capabilities.Parse(caps); 210 Logger log(Log::kError);
211 Status status = capabilities.Parse(caps, &log);
195 ASSERT_TRUE(status.IsOk()); 212 ASSERT_TRUE(status.IsOk());
196 ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); 213 ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
197 ASSERT_STREQ( 214 ASSERT_STREQ(
198 "test.wpad", 215 "test.wpad",
199 capabilities.command.GetSwitchValueASCII("proxy-pac-url").c_str()); 216 capabilities.command.GetSwitchValueASCII("proxy-pac-url").c_str());
200 } 217 }
201 218
202 TEST(ParseCapabilities, MissingProxyAutoconfigUrl) { 219 TEST(ParseCapabilities, MissingProxyAutoconfigUrl) {
203 Capabilities capabilities; 220 Capabilities capabilities;
204 base::DictionaryValue proxy; 221 base::DictionaryValue proxy;
205 proxy.SetString("proxyType", "PAC"); 222 proxy.SetString("proxyType", "PAC");
206 proxy.SetString("httpProxy", "http://localhost:8001"); 223 proxy.SetString("httpProxy", "http://localhost:8001");
207 base::DictionaryValue caps; 224 base::DictionaryValue caps;
208 caps.Set("proxy", proxy.DeepCopy()); 225 caps.Set("proxy", proxy.DeepCopy());
209 Status status = capabilities.Parse(caps); 226 Logger log(Log::kError);
227 Status status = capabilities.Parse(caps, &log);
210 ASSERT_FALSE(status.IsOk()); 228 ASSERT_FALSE(status.IsOk());
211 } 229 }
212 230
213 TEST(ParseCapabilities, AutodetectProxy) { 231 TEST(ParseCapabilities, AutodetectProxy) {
214 Capabilities capabilities; 232 Capabilities capabilities;
215 base::DictionaryValue proxy; 233 base::DictionaryValue proxy;
216 proxy.SetString("proxyType", "autodetect"); 234 proxy.SetString("proxyType", "autodetect");
217 base::DictionaryValue caps; 235 base::DictionaryValue caps;
218 caps.Set("proxy", proxy.DeepCopy()); 236 caps.Set("proxy", proxy.DeepCopy());
219 Status status = capabilities.Parse(caps); 237 Logger log(Log::kError);
238 Status status = capabilities.Parse(caps, &log);
220 ASSERT_TRUE(status.IsOk()); 239 ASSERT_TRUE(status.IsOk());
221 ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); 240 ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
222 ASSERT_TRUE(capabilities.command.HasSwitch("proxy-auto-detect")); 241 ASSERT_TRUE(capabilities.command.HasSwitch("proxy-auto-detect"));
223 } 242 }
224 243
225 TEST(ParseCapabilities, ManualProxy) { 244 TEST(ParseCapabilities, ManualProxy) {
226 Capabilities capabilities; 245 Capabilities capabilities;
227 base::DictionaryValue proxy; 246 base::DictionaryValue proxy;
228 proxy.SetString("proxyType", "manual"); 247 proxy.SetString("proxyType", "manual");
229 proxy.SetString("ftpProxy", "localhost:9001"); 248 proxy.SetString("ftpProxy", "localhost:9001");
230 proxy.SetString("httpProxy", "localhost:8001"); 249 proxy.SetString("httpProxy", "localhost:8001");
231 proxy.SetString("sslProxy", "localhost:10001"); 250 proxy.SetString("sslProxy", "localhost:10001");
232 proxy.SetString("noProxy", "google.com, youtube.com"); 251 proxy.SetString("noProxy", "google.com, youtube.com");
233 base::DictionaryValue caps; 252 base::DictionaryValue caps;
234 caps.Set("proxy", proxy.DeepCopy()); 253 caps.Set("proxy", proxy.DeepCopy());
235 Status status = capabilities.Parse(caps); 254 Logger log(Log::kError);
255 Status status = capabilities.Parse(caps, &log);
236 ASSERT_TRUE(status.IsOk()); 256 ASSERT_TRUE(status.IsOk());
237 ASSERT_EQ(2u, capabilities.command.GetSwitches().size()); 257 ASSERT_EQ(2u, capabilities.command.GetSwitches().size());
238 ASSERT_STREQ( 258 ASSERT_STREQ(
239 "ftp=localhost:9001;http=localhost:8001;https=localhost:10001", 259 "ftp=localhost:9001;http=localhost:8001;https=localhost:10001",
240 capabilities.command.GetSwitchValueASCII("proxy-server").c_str()); 260 capabilities.command.GetSwitchValueASCII("proxy-server").c_str());
241 ASSERT_STREQ( 261 ASSERT_STREQ(
242 "google.com, youtube.com", 262 "google.com, youtube.com",
243 capabilities.command.GetSwitchValueASCII("proxy-bypass-list").c_str()); 263 capabilities.command.GetSwitchValueASCII("proxy-bypass-list").c_str());
244 } 264 }
245 265
246 TEST(ParseCapabilities, MissingSettingForManualProxy) { 266 TEST(ParseCapabilities, MissingSettingForManualProxy) {
247 Capabilities capabilities; 267 Capabilities capabilities;
248 base::DictionaryValue proxy; 268 base::DictionaryValue proxy;
249 proxy.SetString("proxyType", "manual"); 269 proxy.SetString("proxyType", "manual");
250 base::DictionaryValue caps; 270 base::DictionaryValue caps;
251 caps.Set("proxy", proxy.DeepCopy()); 271 caps.Set("proxy", proxy.DeepCopy());
252 Status status = capabilities.Parse(caps); 272 Logger log(Log::kError);
273 Status status = capabilities.Parse(caps, &log);
253 ASSERT_FALSE(status.IsOk()); 274 ASSERT_FALSE(status.IsOk());
254 } 275 }
255 276
256 TEST(ParseCapabilities, IgnoreNullValueForManualProxy) { 277 TEST(ParseCapabilities, IgnoreNullValueForManualProxy) {
257 Capabilities capabilities; 278 Capabilities capabilities;
258 base::DictionaryValue proxy; 279 base::DictionaryValue proxy;
259 proxy.SetString("proxyType", "manual"); 280 proxy.SetString("proxyType", "manual");
260 proxy.SetString("ftpProxy", "localhost:9001"); 281 proxy.SetString("ftpProxy", "localhost:9001");
261 proxy.Set("sslProxy", base::Value::CreateNullValue()); 282 proxy.Set("sslProxy", base::Value::CreateNullValue());
262 proxy.Set("noProxy", base::Value::CreateNullValue()); 283 proxy.Set("noProxy", base::Value::CreateNullValue());
263 base::DictionaryValue caps; 284 base::DictionaryValue caps;
264 caps.Set("proxy", proxy.DeepCopy()); 285 caps.Set("proxy", proxy.DeepCopy());
265 Status status = capabilities.Parse(caps); 286 Logger log(Log::kError);
287 Status status = capabilities.Parse(caps, &log);
266 ASSERT_TRUE(status.IsOk()); 288 ASSERT_TRUE(status.IsOk());
267 ASSERT_EQ(1u, capabilities.command.GetSwitches().size()); 289 ASSERT_EQ(1u, capabilities.command.GetSwitches().size());
268 ASSERT_TRUE(capabilities.command.HasSwitch("proxy-server")); 290 ASSERT_TRUE(capabilities.command.HasSwitch("proxy-server"));
269 ASSERT_STREQ( 291 ASSERT_STREQ(
270 "ftp=localhost:9001", 292 "ftp=localhost:9001",
271 capabilities.command.GetSwitchValueASCII("proxy-server").c_str()); 293 capabilities.command.GetSwitchValueASCII("proxy-server").c_str());
272 } 294 }
273 295
274 TEST(ParseCapabilities, LoggingPrefsOk) { 296 TEST(ParseCapabilities, LoggingPrefsOk) {
275 Capabilities capabilities; 297 Capabilities capabilities;
276 base::DictionaryValue logging_prefs; 298 base::DictionaryValue logging_prefs;
277 logging_prefs.SetString("Network", "INFO"); 299 logging_prefs.SetString("Network", "INFO");
278 base::DictionaryValue caps; 300 base::DictionaryValue caps;
279 caps.Set("loggingPrefs", logging_prefs.DeepCopy()); 301 caps.Set("loggingPrefs", logging_prefs.DeepCopy());
280 Status status = capabilities.Parse(caps); 302 Logger log(Log::kError);
303 Status status = capabilities.Parse(caps, &log);
281 ASSERT_TRUE(status.IsOk()); 304 ASSERT_TRUE(status.IsOk());
282 ASSERT_TRUE(capabilities.logging_prefs.get()); 305 ASSERT_TRUE(capabilities.logging_prefs.get());
283 ASSERT_EQ(1u, capabilities.logging_prefs->size()); 306 ASSERT_EQ(1u, capabilities.logging_prefs->size());
284 std::string log_level; 307 std::string log_level;
285 ASSERT_TRUE(capabilities.logging_prefs->GetString("Network", &log_level)); 308 ASSERT_TRUE(capabilities.logging_prefs->GetString("Network", &log_level));
286 ASSERT_STREQ("INFO", log_level.c_str()); 309 ASSERT_STREQ("INFO", log_level.c_str());
287 } 310 }
288 311
289 TEST(ParseCapabilities, LoggingPrefsNotDict) { 312 TEST(ParseCapabilities, LoggingPrefsNotDict) {
290 Capabilities capabilities; 313 Capabilities capabilities;
291 base::DictionaryValue caps; 314 base::DictionaryValue caps;
292 caps.SetString("loggingPrefs", "INFO"); 315 caps.SetString("loggingPrefs", "INFO");
293 Status status = capabilities.Parse(caps); 316 Logger log(Log::kError);
317 Status status = capabilities.Parse(caps, &log);
294 ASSERT_FALSE(status.IsOk()); 318 ASSERT_FALSE(status.IsOk());
295 } 319 }
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/capabilities.cc ('k') | chrome/test/chromedriver/commands.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698