Index: runtime/vm/trace_buffer_test.cc |
=================================================================== |
--- runtime/vm/trace_buffer_test.cc (revision 37220) |
+++ runtime/vm/trace_buffer_test.cc (working copy) |
@@ -104,4 +104,30 @@ |
} |
+TEST_CASE(TraceBufferTraceWarning) { |
+ Isolate* isolate = Isolate::Current(); |
+ TraceBuffer::Init(isolate, 3); |
+ TraceBuffer* trace_buffer = isolate->trace_buffer(); |
+ const String& url = String::Handle(isolate, String::New("Plug")); |
+ const String& source = String::Handle(isolate, String::New("240V")); |
+ const Script& script = Script::Handle(isolate, |
+ Script::New(url, source, RawScript::kScriptTag)); |
+ const intptr_t token_pos = 0; |
+ const char* message = "High Voltage"; |
+ TraceBuffer::TraceWarningF(isolate, script, token_pos, "%s", message); |
+ { |
+ JSONStream js; |
+ trace_buffer->PrintToJSONStream(&js); |
Cutch
2014/06/11 21:45:03
For testing, we could add accessors:
At(intptr_t
regis
2014/06/11 23:48:35
Done.
|
+ EXPECT_SUBSTRING("{\"type\":\"TraceBuffer\",\"members\":[" |
+ "{\"type\":\"TraceBufferEntry\",\"time\":", |
+ js.ToCString()); |
+ // Skip time. |
+ EXPECT_SUBSTRING("\"message\":\"{\\\"type\\\":\\\"TraceBufferWarning\\\"," |
+ "\\\"script_url\\\":\\\"Plug\\\",\\\"token_pos\\\":0," |
Cutch
2014/06/11 21:45:03
Please also add a test that exercises PrintToJSONS
regis
2014/06/11 23:48:35
Done.
|
+ "\\\"message\\\":\\\"High Voltage\\\"\"}]}", |
+ js.ToCString()); |
+ } |
+ delete trace_buffer; |
+} |
+ |
} // namespace dart |