@@ -39,6 +39,7 @@ describeWithEnvironment('TimelineTreeView', function() {
39
39
const bottomNode = firstNode . children ( ) . values ( ) . next ( ) . value as TimelineModel . TimelineProfileTree . Node ;
40
40
assert . strictEqual ( bottomNode . event ?. name , 'second console time' ) ;
41
41
} ) ;
42
+
42
43
it ( 'shows instant events as nodes' , async function ( ) {
43
44
const data = await TraceLoader . allModels ( this , 'user-timings.json.gz' ) ;
44
45
const eventTreeView = new Timeline . EventsTimelineTreeView . EventsTimelineTreeView ( mockViewDelegate ) ;
@@ -52,7 +53,26 @@ describeWithEnvironment('TimelineTreeView', function() {
52
53
const secondNode = topNodesIterator . next ( ) . value as TimelineModel . TimelineProfileTree . Node ;
53
54
assert . strictEqual ( secondNode . event ?. name , 'mark3' ) ;
54
55
} ) ;
56
+
57
+ it ( 'can filter events by text' , async function ( ) {
58
+ const data = await TraceLoader . allModels ( this , 'user-timings.json.gz' ) ;
59
+ const eventTreeView = new Timeline . EventsTimelineTreeView . EventsTimelineTreeView ( mockViewDelegate ) ;
60
+ const consoleTimings = [ ...data . traceParsedData . UserTimings . performanceMarks ] ;
61
+ eventTreeView . setModelWithEvents ( data . performanceModel , consoleTimings , data . traceParsedData ) ;
62
+ let tree = eventTreeView . buildTree ( ) ;
63
+ const topLevelChildren = Array . from ( tree . children ( ) . values ( ) , childNode => {
64
+ return childNode . event ?. name || 'NO_EVENT_FOR_NODE' ;
65
+ } ) ;
66
+ assert . deepEqual ( topLevelChildren , [ 'mark1' , 'mark3' ] ) ;
67
+ eventTreeView . textFilterUI ?. setValue ( 'mark1' , true ) ;
68
+ tree = eventTreeView . buildTree ( ) ;
69
+ const newTopLevelChildren = Array . from ( tree . children ( ) . values ( ) , childNode => {
70
+ return childNode . event ?. name || 'NO_EVENT_FOR_NODE' ;
71
+ } ) ;
72
+ assert . deepEqual ( newTopLevelChildren , [ 'mark1' ] ) ;
73
+ } ) ;
55
74
} ) ;
75
+
56
76
describe ( 'BottomUpTimelineTreeView' , function ( ) {
57
77
it ( 'Creates a bottom up tree from nestable events' , async function ( ) {
58
78
const data = await TraceLoader . allModels ( this , 'sync-like-timings.json.gz' ) ;
@@ -79,6 +99,7 @@ describeWithEnvironment('TimelineTreeView', function() {
79
99
assert . strictEqual ( childNode . event ?. name , 'first console time' ) ;
80
100
} ) ;
81
101
} ) ;
102
+
82
103
describe ( 'CallTreeTimelineTreeView' , function ( ) {
83
104
it ( 'Creates a call tree from nestable events' , async function ( ) {
84
105
const data = await TraceLoader . allModels ( this , 'sync-like-timings.json.gz' ) ;
@@ -102,6 +123,7 @@ describeWithEnvironment('TimelineTreeView', function() {
102
123
assert . strictEqual ( childNode . event ?. name , 'second console time' ) ;
103
124
} ) ;
104
125
} ) ;
126
+
105
127
describe ( 'event groupping' , function ( ) {
106
128
it ( 'groups events by category in the Call Tree view' , async function ( ) {
107
129
const data = await TraceLoader . allModels ( this , 'sync-like-timings.json.gz' ) ;
0 commit comments