Index: base/trace_event/trace_config_unittest.cc |
diff --git a/base/trace_event/trace_config_unittest.cc b/base/trace_event/trace_config_unittest.cc |
index bd3788032924167caa7cbdf29ed88b50f7c49f9f..d3cde7c7c67cf0e992d06bca99ae5ecb07ac8429 100644 |
--- a/base/trace_event/trace_config_unittest.cc |
+++ b/base/trace_event/trace_config_unittest.cc |
@@ -4,6 +4,8 @@ |
#include <stddef.h> |
+#include "base/json/json_reader.h" |
+#include "base/json/json_writer.h" |
#include "base/macros.h" |
#include "base/trace_event/memory_dump_manager.h" |
#include "base/trace_event/trace_config.h" |
@@ -23,6 +25,47 @@ const char kDefaultTraceConfigString[] = |
"\"excluded_categories\":[\"*Debug\",\"*Test\"]," |
"\"record_mode\":\"record-until-full\"" |
"}"; |
+ |
+const char kCustomTraceConfigString[] = |
+ "{" |
+ "\"enable_argument_filter\":true," |
+ "\"enable_sampling\":true," |
+ "\"enable_systrace\":true," |
+ "\"excluded_categories\":[\"excluded\",\"exc_pattern*\"]," |
+ "\"included_categories\":[\"included\"," |
+ "\"inc_pattern*\"," |
+ "\"disabled-by-default-cc\"," |
+ "\"disabled-by-default-memory-infra\"]," |
+ "\"memory_dump_config\":{" |
+ "\"triggers\":[" |
+ "{\"mode\":\"light\",\"periodic_interval_ms\":50}," |
+ "{\"mode\":\"detailed\",\"periodic_interval_ms\":1000}" |
+ "]" |
+ "}," |
+ "\"record_mode\":\"record-continuously\"," |
+ "\"synthetic_delays\":[\"test.Delay1;16\",\"test.Delay2;32\"]" |
+ "}"; |
+ |
+const char kCustomTraceConfigStringDevtoolsStyle[] = |
+ "{" |
+ "\"enableArgumentFilter\":true," |
+ "\"enableSampling\":true," |
+ "\"enableSystrace\":true," |
+ "\"excludedCategories\":[\"excluded\",\"exc_pattern*\"]," |
+ "\"includedCategories\":[\"included\"," |
+ "\"inc_pattern*\"," |
+ "\"disabled-by-default-cc\"," |
+ "\"disabled-by-default-memory-infra\"]," |
+ "\"memoryDumpConfig\":{" |
+ "\"triggers\":[" |
+ "{\"mode\":\"light\",\"periodicIntervalMs\":50}," |
+ "{\"mode\":\"detailed\",\"periodicIntervalMs\":1000}" |
+ "]" |
+ "}," |
+ "\"recordMode\":\"recordContinuously\"," |
+ "\"synthetic_delays\":[\"test.Delay1;16\",\"test.Delay2;32\"]" |
+ "}"; |
+ |
} // namespace |
TEST(TraceConfigTest, TraceConfigFromValidLegacyFormat) { |
@@ -530,5 +573,25 @@ TEST(TraceConfigTest, LegacyStringToMemoryDumpConfig) { |
EXPECT_EQ(2u, tc.memory_dump_config_.size()); |
} |
+TEST(TraceConfigTest, DevToolsToTracingStyleForDict) { |
+ scoped_ptr<Value> value = base::JSONReader::Read( |
+ kCustomTraceConfigStringDevtoolsStyle); |
+ scoped_ptr<base::DictionaryValue> devtools_style_dict( |
+ static_cast<base::DictionaryValue*>(value.release())); |
+ scoped_ptr<base::DictionaryValue> tracing_style_dict = |
+ TraceConfig::DevToolsToTracingStyle(devtools_style_dict); |
+ |
+ std::string tracing_style_str; |
+ base::JSONWriter::Write(*tracing_style_dict, &tracing_style_str); |
+ EXPECT_STREQ(kCustomTraceConfigString, tracing_style_str.c_str()); |
+} |
+ |
+TEST(TraceConfigTest, DevToolsToTracingStyleForString) { |
+ std::string tracing_style = TraceConfig::DevToolsToTracingStyle( |
+ kCustomTraceConfigStringDevtoolsStyle); |
+ |
+ EXPECT_STREQ(kCustomTraceConfigString, tracing_style.c_str()); |
+} |
+ |
} // namespace trace_event |
} // namespace base |