OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'package:expect/expect.dart'; | 5 import 'package:expect/expect.dart'; |
6 import 'package:compiler/src/helpers/helpers.dart'; | 6 import 'package:compiler/src/helpers/helpers.dart'; |
7 | 7 |
8 class CollectingOutput implements StatsOutput { | 8 class CollectingOutput implements StatsOutput { |
9 final StringBuffer sb = new StringBuffer(); | 9 final StringBuffer sb = new StringBuffer(); |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 testRecordCounter(); | 21 testRecordCounter(); |
22 } | 22 } |
23 | 23 |
24 void testRecordElement() { | 24 void testRecordElement() { |
25 test((Stats stats) { | 25 test((Stats stats) { |
26 stats.recordElement('foo', 'a', data: 'first-a-data'); | 26 stats.recordElement('foo', 'a', data: 'first-a-data'); |
27 stats.recordElement('foo', 'a', data: 'second-a-data'); | 27 stats.recordElement('foo', 'a', data: 'second-a-data'); |
28 stats.recordElement('foo', 'b'); | 28 stats.recordElement('foo', 'b'); |
29 stats.recordElement('bar', 'a', data: 'third-a-data'); | 29 stats.recordElement('bar', 'a', data: 'third-a-data'); |
30 stats.recordElement('bar', 'c'); | 30 stats.recordElement('bar', 'c'); |
31 }, r''' | 31 }, |
| 32 r''' |
32 foo: 2 | 33 foo: 2 |
33 value=a data=second-a-data | 34 value=a data=second-a-data |
34 b | 35 b |
35 bar: 2 | 36 bar: 2 |
36 value=a data=third-a-data | 37 value=a data=third-a-data |
37 c | 38 c |
38 '''); | 39 '''); |
39 } | 40 } |
40 | 41 |
41 void testRecordFrequency() { | 42 void testRecordFrequency() { |
42 test((Stats stats) { | 43 test((Stats stats) { |
43 stats.recordFrequency('foo', 'a', 'first-a-data'); | 44 stats.recordFrequency('foo', 'a', 'first-a-data'); |
44 stats.recordFrequency('foo', 'a', 'second-a-data'); | 45 stats.recordFrequency('foo', 'a', 'second-a-data'); |
45 stats.recordFrequency('bar', 'b', 'first-b-data'); | 46 stats.recordFrequency('bar', 'b', 'first-b-data'); |
46 stats.recordFrequency('foo', 'c'); | 47 stats.recordFrequency('foo', 'c'); |
47 stats.recordFrequency('bar', 'b'); | 48 stats.recordFrequency('bar', 'b'); |
48 }, r''' | 49 }, |
| 50 r''' |
49 foo: | 51 foo: |
50 a: 2 | 52 a: 2 |
51 first-a-data | 53 first-a-data |
52 second-a-data | 54 second-a-data |
53 c: 1 | 55 c: 1 |
54 bar: | 56 bar: |
55 b: 2 | 57 b: 2 |
56 first-b-data | 58 first-b-data |
57 '''); | 59 '''); |
58 } | 60 } |
59 | 61 |
60 void testRecordCounter() { | 62 void testRecordCounter() { |
61 test((Stats stats) { | 63 test((Stats stats) { |
62 stats.recordCounter('foo', 'a'); | 64 stats.recordCounter('foo', 'a'); |
63 stats.recordCounter('foo', 'a'); | 65 stats.recordCounter('foo', 'a'); |
64 stats.recordCounter('foo', 'b'); | 66 stats.recordCounter('foo', 'b'); |
65 stats.recordCounter('bar', 'c', 'first-c-data'); | 67 stats.recordCounter('bar', 'c', 'first-c-data'); |
66 stats.recordCounter('bar', 'c', 'second-c-data'); | 68 stats.recordCounter('bar', 'c', 'second-c-data'); |
67 stats.recordCounter('bar', 'd'); | 69 stats.recordCounter('bar', 'd'); |
68 stats.recordCounter('bar', 'd'); | 70 stats.recordCounter('bar', 'd'); |
69 stats.recordCounter('baz'); | 71 stats.recordCounter('baz'); |
70 stats.recordCounter('baz'); | 72 stats.recordCounter('baz'); |
71 }, r''' | 73 }, |
| 74 r''' |
72 foo: 3 | 75 foo: 3 |
73 count=2 example=a | 76 count=2 example=a |
74 count=1 example=b | 77 count=1 example=b |
75 bar: 4 | 78 bar: 4 |
76 count=2 examples=2 | 79 count=2 examples=2 |
77 c: | 80 c: |
78 first-c-data | 81 first-c-data |
79 second-c-data | 82 second-c-data |
80 d | 83 d |
81 baz: 2 | 84 baz: 2 |
82 '''); | 85 '''); |
83 } | 86 } |
84 | 87 |
85 void test(f(Stats stats), expectedDump) { | 88 void test(f(Stats stats), expectedDump) { |
86 CollectingOutput output = new CollectingOutput(); | 89 CollectingOutput output = new CollectingOutput(); |
87 Stats stats = new ActiveStats(new ConsolePrinter(output: output)); | 90 Stats stats = new ActiveStats(new ConsolePrinter(output: output)); |
88 f(stats); | 91 f(stats); |
89 stats.dumpStats(); | 92 stats.dumpStats(); |
90 print(output.toString()); | 93 print(output.toString()); |
91 Expect.equals(expectedDump, output.toString()); | 94 Expect.equals(expectedDump, output.toString()); |
92 } | 95 } |
OLD | NEW |