Chromium Code Reviews| 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 |