OLD | NEW |
---|---|
(Empty) | |
1 (async function(testRunner) { | |
2 let {page, session, dp} = await testRunner.startHTML(` | |
3 <style> | |
4 div#test { | |
5 display: none; | |
6 background-color: blue; | |
7 width: 100px; | |
8 height: 100px; | |
9 } | |
10 </style> | |
11 <div id='test'> | |
12 </div> | |
13 `, ''); | |
14 | |
15 var tracingHelper = (await testRunner.loadScript('../resources/tracing-test.js '))(testRunner, session); | |
16 tracingHelper.startTracingAndSaveAsStream(onStart); | |
17 | |
18 function onStart() { | |
19 session.evaluate(` | |
20 (function performActions() | |
21 { | |
22 var element = document.getElementById('test'); | |
caseq
2017/06/22 19:32:41
Style (indent + opening '{')
dgozman
2017/06/22 21:48:55
Done.
| |
23 element.style.display = 'block'; | |
24 var unused = element.clientWidth; | |
25 })(); | |
26 `).then(evalDone); | |
27 } | |
28 | |
29 function evalDone() { | |
30 tracingHelper.stopTracingAndReturnStream(onStop); | |
31 } | |
32 | |
33 function onStop(streamHandle) { | |
34 var data1; | |
35 tracingHelper.retrieveStream(streamHandle, null, null, onGotStream1); | |
36 | |
37 function onGotStream1(data) { | |
38 data1 = data; | |
39 tracingHelper.retrieveStream(streamHandle, 0, 1000, onGotStream2); | |
40 } | |
41 | |
42 function onGotStream2(data) { | |
43 if (data1 !== data) | |
44 testRunner.log('FAIL: got different data for cunked vs. non-chunked read s'); | |
45 dp.IO.close({ handle: streamHandle }).then(onCloseDone); | |
46 } | |
47 | |
48 function onCloseDone(response) { | |
49 testRunner.log('Error after legit close: ' + JSON.stringify(response.error )); | |
50 dp.IO.read({ handle: streamHandle }).then(onReadAfterClose); | |
51 } | |
52 | |
53 function onReadAfterClose(response) { | |
54 testRunner.log('Error after illegal read: ' + JSON.stringify(response.erro r)); | |
55 dp.IO.close({ handle: streamHandle }).then(onCloseAfterClose); | |
56 } | |
57 | |
58 function onCloseAfterClose(response) { | |
59 testRunner.log('Error after illegal close: ' + JSON.stringify(response.err or)); | |
60 var trace = JSON.parse(data1); | |
61 performEventsSanityCheck(trace['traceEvents']); | |
62 testRunner.log('Metadata: ' + typeof trace['metadata'] + (trace['metadata' ] ? ', not null' : '')); | |
63 testRunner.completeTest(); | |
64 } | |
65 } | |
66 | |
67 function assertGreaterOrEqual(a, b, message) { | |
68 if (a >= b) | |
69 return; | |
70 testRunner.log(message + ' (' + a + ' < ' + b + ')'); | |
71 testRunner.completeTest(); | |
72 } | |
73 | |
74 function performEventsSanityCheck(events) { | |
75 var phaseComplete = 0; | |
76 | |
77 var knownEvents = { | |
78 'MessageLoop::PostTask': 0, | |
79 'FunctionCall': 0, | |
80 'UpdateLayoutTree': 0, | |
81 'Layout': 0 | |
82 }; | |
83 | |
84 for (var i = 0; i < events.length; ++i) { | |
85 var event = events[i]; | |
86 if (event.phase === 'X') | |
87 ++phaseComplete; | |
88 if (event.name in knownEvents) | |
89 ++knownEvents[event.name]; | |
90 } | |
91 assertGreaterOrEqual(events.length, 10, 'Too few trace events recorded'); | |
92 assertGreaterOrEqual(knownEvents['UpdateLayoutTree'], 1, 'Too few UpdateLayo utTree events'); | |
93 assertGreaterOrEqual(knownEvents['Layout'], 1, 'Too few Layout events'); | |
94 testRunner.log('Event sanity test done'); | |
95 } | |
96 }) | |
OLD | NEW |