OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 #include "platform/assert.h" | |
6 #include "vm/globals.h" | |
7 #include "vm/json_stream.h" | |
8 #include "vm/trace_buffer.h" | |
9 #include "vm/unit_test.h" | |
10 | |
11 namespace dart { | |
12 | |
13 | |
14 UNIT_TEST_CASE(TraceBufferEmpty) { | |
15 TraceBuffer* trace_buffer = new TraceBuffer(3); | |
16 { | |
17 JSONStream js; | |
18 trace_buffer->PrintToJSONStream(&js); | |
19 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[]}", js.ToCString()); | |
20 } | |
srdjan
2013/10/29 15:21:19
'delete trace_buffer', here and elsewhere below.
Cutch
2013/10/29 23:51:40
Done.
| |
21 } | |
22 | |
23 | |
24 UNIT_TEST_CASE(TraceBufferClear) { | |
25 TraceBuffer* trace_buffer = new TraceBuffer(3); | |
26 trace_buffer->Trace(kMicrosecondsPerSecond * 1, "abc"); | |
27 trace_buffer->Clear(); | |
28 { | |
29 JSONStream js; | |
30 trace_buffer->PrintToJSONStream(&js); | |
31 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[]}", js.ToCString()); | |
32 } | |
33 } | |
34 | |
35 | |
36 UNIT_TEST_CASE(TraceBufferTrace) { | |
37 TraceBuffer* trace_buffer = new TraceBuffer(3); | |
38 | |
39 trace_buffer->Trace(kMicrosecondsPerSecond * 1, "abc"); | |
40 { | |
41 JSONStream js; | |
42 trace_buffer->PrintToJSONStream(&js); | |
43 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[" | |
44 "{\"type\":\"TraceBufferEntry\",\"time\":1.000000," | |
45 "\"message\":\"abc\"}]}", js.ToCString()); | |
46 } | |
47 trace_buffer->Trace(kMicrosecondsPerSecond * 2, "def"); | |
48 { | |
49 JSONStream js; | |
50 trace_buffer->PrintToJSONStream(&js); | |
51 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[" | |
52 "{\"type\":\"TraceBufferEntry\",\"time\":1.000000," | |
53 "\"message\":\"abc\"}," | |
54 "{\"type\":\"TraceBufferEntry\",\"time\":2.000000," | |
55 "\"message\":\"def\"}]}", js.ToCString()); | |
56 } | |
57 trace_buffer->Trace(kMicrosecondsPerSecond * 3, "ghi"); | |
58 { | |
59 JSONStream js; | |
60 trace_buffer->PrintToJSONStream(&js); | |
61 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[" | |
62 "{\"type\":\"TraceBufferEntry\",\"time\":1.000000," | |
63 "\"message\":\"abc\"}," | |
64 "{\"type\":\"TraceBufferEntry\",\"time\":2.000000," | |
65 "\"message\":\"def\"}," | |
66 "{\"type\":\"TraceBufferEntry\",\"time\":3.000000," | |
67 "\"message\":\"ghi\"}]}", js.ToCString()); | |
68 } | |
69 // This will overwrite the first Trace. | |
70 trace_buffer->Trace(kMicrosecondsPerSecond * 4, "jkl"); | |
71 { | |
72 JSONStream js; | |
73 trace_buffer->PrintToJSONStream(&js); | |
74 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[" | |
75 "{\"type\":\"TraceBufferEntry\",\"time\":2.000000," | |
76 "\"message\":\"def\"}," | |
77 "{\"type\":\"TraceBufferEntry\",\"time\":3.000000," | |
78 "\"message\":\"ghi\"}," | |
79 "{\"type\":\"TraceBufferEntry\",\"time\":4.000000," | |
80 "\"message\":\"jkl\"}]}", js.ToCString()); | |
81 } | |
82 } | |
83 | |
84 | |
85 UNIT_TEST_CASE(TraceBufferTraceF) { | |
86 TraceBuffer* trace_buffer = new TraceBuffer(3); | |
87 trace_buffer->TraceF("foo %d %s", 99, "bar"); | |
88 { | |
89 JSONStream js; | |
90 trace_buffer->PrintToJSONStream(&js); | |
91 EXPECT_SUBSTRING("foo 99 bar", js.ToCString()); | |
92 } | |
93 } | |
94 | |
95 | |
96 } // namespace dart | |
OLD | NEW |