| Index: chrome/test/chromedriver/capabilities_unittest.cc
|
| diff --git a/chrome/test/chromedriver/capabilities_unittest.cc b/chrome/test/chromedriver/capabilities_unittest.cc
|
| index 32fcd26fc1e6a1053c6f6610d9dd6b2ebd7fa1c0..1e50352dffce00d6fc0dbb77a446a90ed0367d61 100644
|
| --- a/chrome/test/chromedriver/capabilities_unittest.cc
|
| +++ b/chrome/test/chromedriver/capabilities_unittest.cc
|
| @@ -140,7 +140,7 @@ TEST(ParseCapabilities, Args) {
|
| args.AppendString("arg1");
|
| args.AppendString("arg2=val");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.args", args.DeepCopy());
|
| + caps.Set("chromeOptions.args", base::MakeUnique<base::Value>(args));
|
|
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| @@ -158,7 +158,7 @@ TEST(ParseCapabilities, Prefs) {
|
| prefs.SetString("key1", "value1");
|
| prefs.SetString("key2.k", "value2");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.prefs", prefs.DeepCopy());
|
| + caps.Set("chromeOptions.prefs", base::MakeUnique<base::Value>(prefs));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_TRUE(capabilities.prefs->Equals(&prefs));
|
| @@ -170,7 +170,8 @@ TEST(ParseCapabilities, LocalState) {
|
| local_state.SetString("s1", "v1");
|
| local_state.SetString("s2.s", "v2");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.localState", local_state.DeepCopy());
|
| + caps.Set("chromeOptions.localState",
|
| + base::MakeUnique<base::Value>(local_state));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_TRUE(capabilities.local_state->Equals(&local_state));
|
| @@ -182,7 +183,8 @@ TEST(ParseCapabilities, Extensions) {
|
| extensions.AppendString("ext1");
|
| extensions.AppendString("ext2");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.extensions", extensions.DeepCopy());
|
| + caps.Set("chromeOptions.extensions",
|
| + base::MakeUnique<base::Value>(extensions));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(2u, capabilities.extensions.size());
|
| @@ -195,7 +197,7 @@ TEST(ParseCapabilities, UnrecognizedProxyType) {
|
| base::DictionaryValue proxy;
|
| proxy.SetString("proxyType", "unknown proxy type");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
| @@ -205,7 +207,7 @@ TEST(ParseCapabilities, IllegalProxyType) {
|
| base::DictionaryValue proxy;
|
| proxy.SetInteger("proxyType", 123);
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
| @@ -215,7 +217,7 @@ TEST(ParseCapabilities, DirectProxy) {
|
| base::DictionaryValue proxy;
|
| proxy.SetString("proxyType", "DIRECT");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(1u, capabilities.switches.GetSize());
|
| @@ -227,7 +229,7 @@ TEST(ParseCapabilities, SystemProxy) {
|
| base::DictionaryValue proxy;
|
| proxy.SetString("proxyType", "system");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(0u, capabilities.switches.GetSize());
|
| @@ -239,7 +241,7 @@ TEST(ParseCapabilities, PacProxy) {
|
| proxy.SetString("proxyType", "PAC");
|
| proxy.SetString("proxyAutoconfigUrl", "test.wpad");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(1u, capabilities.switches.GetSize());
|
| @@ -252,7 +254,7 @@ TEST(ParseCapabilities, MissingProxyAutoconfigUrl) {
|
| proxy.SetString("proxyType", "PAC");
|
| proxy.SetString("httpProxy", "http://localhost:8001");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
| @@ -262,7 +264,7 @@ TEST(ParseCapabilities, AutodetectProxy) {
|
| base::DictionaryValue proxy;
|
| proxy.SetString("proxyType", "autodetect");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(1u, capabilities.switches.GetSize());
|
| @@ -278,7 +280,7 @@ TEST(ParseCapabilities, ManualProxy) {
|
| proxy.SetString("sslProxy", "localhost:10001");
|
| proxy.SetString("noProxy", "google.com, youtube.com");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(2u, capabilities.switches.GetSize());
|
| @@ -295,7 +297,7 @@ TEST(ParseCapabilities, MissingSettingForManualProxy) {
|
| base::DictionaryValue proxy;
|
| proxy.SetString("proxyType", "manual");
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
| @@ -308,7 +310,7 @@ TEST(ParseCapabilities, IgnoreNullValueForManualProxy) {
|
| proxy.Set("sslProxy", base::MakeUnique<base::Value>());
|
| proxy.Set("noProxy", base::MakeUnique<base::Value>());
|
| base::DictionaryValue caps;
|
| - caps.Set("proxy", proxy.DeepCopy());
|
| + caps.Set("proxy", base::MakeUnique<base::Value>(proxy));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(1u, capabilities.switches.GetSize());
|
| @@ -323,7 +325,7 @@ TEST(ParseCapabilities, LoggingPrefsOk) {
|
| base::DictionaryValue logging_prefs;
|
| logging_prefs.SetString("Network", "INFO");
|
| base::DictionaryValue caps;
|
| - caps.Set("loggingPrefs", logging_prefs.DeepCopy());
|
| + caps.Set("loggingPrefs", base::MakeUnique<base::Value>(logging_prefs));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(1u, capabilities.logging_prefs.size());
|
| @@ -344,7 +346,8 @@ TEST(ParseCapabilities, PerfLoggingPrefsInspectorDomainStatus) {
|
| base::DictionaryValue logging_prefs;
|
| logging_prefs.SetString(WebDriverLog::kPerformanceType, "INFO");
|
| base::DictionaryValue desired_caps;
|
| - desired_caps.Set("loggingPrefs", logging_prefs.DeepCopy());
|
| + desired_caps.Set("loggingPrefs",
|
| + base::MakeUnique<base::Value>(logging_prefs));
|
| ASSERT_EQ(PerfLoggingPrefs::InspectorDomainStatus::kDefaultEnabled,
|
| capabilities.perf_logging_prefs.network);
|
| ASSERT_EQ(PerfLoggingPrefs::InspectorDomainStatus::kDefaultEnabled,
|
| @@ -355,7 +358,7 @@ TEST(ParseCapabilities, PerfLoggingPrefsInspectorDomainStatus) {
|
| perf_logging_prefs.SetBoolean("enableNetwork", true);
|
| perf_logging_prefs.SetBoolean("enablePage", false);
|
| desired_caps.Set("chromeOptions.perfLoggingPrefs",
|
| - perf_logging_prefs.DeepCopy());
|
| + base::MakeUnique<base::Value>(perf_logging_prefs));
|
| Status status = capabilities.Parse(desired_caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(PerfLoggingPrefs::InspectorDomainStatus::kExplicitlyEnabled,
|
| @@ -372,13 +375,14 @@ TEST(ParseCapabilities, PerfLoggingPrefsTracing) {
|
| base::DictionaryValue logging_prefs;
|
| logging_prefs.SetString(WebDriverLog::kPerformanceType, "INFO");
|
| base::DictionaryValue desired_caps;
|
| - desired_caps.Set("loggingPrefs", logging_prefs.DeepCopy());
|
| + desired_caps.Set("loggingPrefs",
|
| + base::MakeUnique<base::Value>(logging_prefs));
|
| ASSERT_EQ("", capabilities.perf_logging_prefs.trace_categories);
|
| base::DictionaryValue perf_logging_prefs;
|
| perf_logging_prefs.SetString("traceCategories", "benchmark,blink.console");
|
| perf_logging_prefs.SetInteger("bufferUsageReportingInterval", 1234);
|
| desired_caps.Set("chromeOptions.perfLoggingPrefs",
|
| - perf_logging_prefs.DeepCopy());
|
| + base::MakeUnique<base::Value>(perf_logging_prefs));
|
| Status status = capabilities.Parse(desired_caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ("benchmark,blink.console",
|
| @@ -393,12 +397,13 @@ TEST(ParseCapabilities, PerfLoggingPrefsInvalidInterval) {
|
| base::DictionaryValue logging_prefs;
|
| logging_prefs.SetString(WebDriverLog::kPerformanceType, "INFO");
|
| base::DictionaryValue desired_caps;
|
| - desired_caps.Set("loggingPrefs", logging_prefs.DeepCopy());
|
| + desired_caps.Set("loggingPrefs",
|
| + base::MakeUnique<base::Value>(logging_prefs));
|
| base::DictionaryValue perf_logging_prefs;
|
| // A bufferUsageReportingInterval interval <= 0 will cause DevTools errors.
|
| perf_logging_prefs.SetInteger("bufferUsageReportingInterval", 0);
|
| desired_caps.Set("chromeOptions.perfLoggingPrefs",
|
| - perf_logging_prefs.DeepCopy());
|
| + base::MakeUnique<base::Value>(perf_logging_prefs));
|
| Status status = capabilities.Parse(desired_caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
| @@ -409,7 +414,8 @@ TEST(ParseCapabilities, PerfLoggingPrefsNotDict) {
|
| base::DictionaryValue logging_prefs;
|
| logging_prefs.SetString(WebDriverLog::kPerformanceType, "INFO");
|
| base::DictionaryValue desired_caps;
|
| - desired_caps.Set("loggingPrefs", logging_prefs.DeepCopy());
|
| + desired_caps.Set("loggingPrefs",
|
| + base::MakeUnique<base::Value>(logging_prefs));
|
| desired_caps.SetString("chromeOptions.perfLoggingPrefs", "traceCategories");
|
| Status status = capabilities.Parse(desired_caps);
|
| ASSERT_FALSE(status.IsOk());
|
| @@ -421,7 +427,7 @@ TEST(ParseCapabilities, PerfLoggingPrefsNoPerfLogLevel) {
|
| base::DictionaryValue perf_logging_prefs;
|
| perf_logging_prefs.SetBoolean("enableNetwork", true);
|
| desired_caps.Set("chromeOptions.perfLoggingPrefs",
|
| - perf_logging_prefs.DeepCopy());
|
| + base::MakeUnique<base::Value>(perf_logging_prefs));
|
| // Should fail because perf log must be enabled if perf log prefs specified.
|
| Status status = capabilities.Parse(desired_caps);
|
| ASSERT_FALSE(status.IsOk());
|
| @@ -433,11 +439,12 @@ TEST(ParseCapabilities, PerfLoggingPrefsPerfLogOff) {
|
| // Disable performance log by setting logging level to OFF.
|
| logging_prefs.SetString(WebDriverLog::kPerformanceType, "OFF");
|
| base::DictionaryValue desired_caps;
|
| - desired_caps.Set("loggingPrefs", logging_prefs.DeepCopy());
|
| + desired_caps.Set("loggingPrefs",
|
| + base::MakeUnique<base::Value>(logging_prefs));
|
| base::DictionaryValue perf_logging_prefs;
|
| perf_logging_prefs.SetBoolean("enableNetwork", true);
|
| desired_caps.Set("chromeOptions.perfLoggingPrefs",
|
| - perf_logging_prefs.DeepCopy());
|
| + base::MakeUnique<base::Value>(perf_logging_prefs));
|
| // Should fail because perf log must be enabled if perf log prefs specified.
|
| Status status = capabilities.Parse(desired_caps);
|
| ASSERT_FALSE(status.IsOk());
|
| @@ -449,7 +456,8 @@ TEST(ParseCapabilities, ExcludeSwitches) {
|
| exclude_switches.AppendString("switch1");
|
| exclude_switches.AppendString("switch2");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.excludeSwitches", exclude_switches.DeepCopy());
|
| + caps.Set("chromeOptions.excludeSwitches",
|
| + base::MakeUnique<base::Value>(exclude_switches));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
| ASSERT_EQ(2u, capabilities.exclude_switches.size());
|
| @@ -474,7 +482,8 @@ TEST(ParseCapabilities, MobileEmulationUserAgent) {
|
| base::DictionaryValue mobile_emulation;
|
| mobile_emulation.SetString("userAgent", "Agent Smith");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.mobileEmulation", mobile_emulation.DeepCopy());
|
| + caps.Set("chromeOptions.mobileEmulation",
|
| + base::MakeUnique<base::Value>(mobile_emulation));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
|
|
| @@ -490,7 +499,8 @@ TEST(ParseCapabilities, MobileEmulationDeviceMetrics) {
|
| mobile_emulation.SetInteger("deviceMetrics.height", 640);
|
| mobile_emulation.SetDouble("deviceMetrics.pixelRatio", 3.0);
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.mobileEmulation", mobile_emulation.DeepCopy());
|
| + caps.Set("chromeOptions.mobileEmulation",
|
| + base::MakeUnique<base::Value>(mobile_emulation));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
|
|
| @@ -504,7 +514,8 @@ TEST(ParseCapabilities, MobileEmulationDeviceName) {
|
| base::DictionaryValue mobile_emulation;
|
| mobile_emulation.SetString("deviceName", "Google Nexus 5");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.mobileEmulation", mobile_emulation.DeepCopy());
|
| + caps.Set("chromeOptions.mobileEmulation",
|
| + base::MakeUnique<base::Value>(mobile_emulation));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_TRUE(status.IsOk());
|
|
|
| @@ -534,7 +545,8 @@ TEST(ParseCapabilities, MobileEmulationDeviceMetricsNotDict) {
|
| base::DictionaryValue mobile_emulation;
|
| mobile_emulation.SetInteger("deviceMetrics", 360);
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.mobileEmulation", mobile_emulation.DeepCopy());
|
| + caps.Set("chromeOptions.mobileEmulation",
|
| + base::MakeUnique<base::Value>(mobile_emulation));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
| @@ -546,7 +558,8 @@ TEST(ParseCapabilities, MobileEmulationDeviceMetricsNotNumbers) {
|
| mobile_emulation.SetString("deviceMetrics.height", "640");
|
| mobile_emulation.SetString("deviceMetrics.pixelRatio", "3.0");
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.mobileEmulation", mobile_emulation.DeepCopy());
|
| + caps.Set("chromeOptions.mobileEmulation",
|
| + base::MakeUnique<base::Value>(mobile_emulation));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
| @@ -559,7 +572,8 @@ TEST(ParseCapabilities, MobileEmulationBadDict) {
|
| mobile_emulation.SetInteger("deviceMetrics.height", 640);
|
| mobile_emulation.SetDouble("deviceMetrics.pixelRatio", 3.0);
|
| base::DictionaryValue caps;
|
| - caps.Set("chromeOptions.mobileEmulation", mobile_emulation.DeepCopy());
|
| + caps.Set("chromeOptions.mobileEmulation",
|
| + base::MakeUnique<base::Value>(mobile_emulation));
|
| Status status = capabilities.Parse(caps);
|
| ASSERT_FALSE(status.IsOk());
|
| }
|
|
|