@@ -32,7 +32,7 @@ void main() {
32
32
33
33
expect (timeline.events, hasLength (2 ));
34
34
35
- final TimelineEvent e1 = timeline.events[0 ];
35
+ final TimelineEvent e1 = timeline.events[1 ];
36
36
expect (e1.name, 'test event' );
37
37
expect (e1.category, 'test category' );
38
38
expect (e1.phase, 'B' );
@@ -44,7 +44,7 @@ void main() {
44
44
expect (e1.threadTimestampMicros, 567 );
45
45
expect (e1.arguments, < String , dynamic > {'arg1' : true });
46
46
47
- final TimelineEvent e2 = timeline.events[1 ];
47
+ final TimelineEvent e2 = timeline.events[0 ];
48
48
expect (e2.name, isNull);
49
49
expect (e2.category, isNull);
50
50
expect (e2.phase, isNull);
@@ -56,5 +56,59 @@ void main() {
56
56
expect (e2.threadTimestampMicros, isNull);
57
57
expect (e2.arguments, isNull);
58
58
});
59
+
60
+ test ('sorts JSON' , () {
61
+ final Timeline timeline = Timeline .fromJson (< String , dynamic > {
62
+ 'traceEvents' : < Map <String , dynamic >> [
63
+ < String , dynamic > {
64
+ 'name' : 'test event 1' ,
65
+ 'ts' : 457 ,
66
+ },
67
+ < String , dynamic > {
68
+ 'name' : 'test event 2' ,
69
+ 'ts' : 456 ,
70
+ },
71
+ ],
72
+ });
73
+
74
+ expect (timeline.events, hasLength (2 ));
75
+ expect (timeline.events[0 ].timestampMicros, equals (456 ));
76
+ expect (timeline.events[1 ].timestampMicros, equals (457 ));
77
+ expect (timeline.events[0 ].name, equals ('test event 2' ));
78
+ expect (timeline.events[1 ].name, equals ('test event 1' ));
79
+ });
80
+
81
+ test ('sorts JSON nulls first' , () {
82
+ final Timeline timeline = Timeline .fromJson (< String , dynamic > {
83
+ 'traceEvents' : < Map <String , dynamic >> [
84
+ < String , dynamic > {
85
+ 'name' : 'test event 0' ,
86
+ 'ts' : null ,
87
+ },
88
+ < String , dynamic > {
89
+ 'name' : 'test event 1' ,
90
+ 'ts' : 457 ,
91
+ },
92
+ < String , dynamic > {
93
+ 'name' : 'test event 2' ,
94
+ 'ts' : 456 ,
95
+ },
96
+ < String , dynamic > {
97
+ 'name' : 'test event 3' ,
98
+ 'ts' : null ,
99
+ },
100
+ ],
101
+ });
102
+
103
+ expect (timeline.events, hasLength (4 ));
104
+ expect (timeline.events[0 ].timestampMicros, isNull);
105
+ expect (timeline.events[1 ].timestampMicros, isNull);
106
+ expect (timeline.events[2 ].timestampMicros, equals (456 ));
107
+ expect (timeline.events[3 ].timestampMicros, equals (457 ));
108
+ expect (timeline.events[0 ].name, equals ('test event 0' ));
109
+ expect (timeline.events[1 ].name, equals ('test event 3' ));
110
+ expect (timeline.events[2 ].name, equals ('test event 2' ));
111
+ expect (timeline.events[3 ].name, equals ('test event 1' ));
112
+ });
59
113
});
60
114
}
0 commit comments