Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(136)

Side by Side Diff: third_party/WebKit/LayoutTests/inspector-protocol/timeline/fetch-as-stream.js

Issue 2953663003: [DevTools] Migrate inspector-protocol/{timeline,worker} tests to new harness (Closed)
Patch Set: addressed comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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' );
16 var tracingHelper = new TracingHelper(testRunner, session);
17 await tracingHelper.startTracingAndSaveAsStream();
18 await session.evaluate(`
19 (function performActions() {
20 var element = document.getElementById('test');
21 element.style.display = 'block';
22 var unused = element.clientWidth;
23 })();
24 `);
25
26 var streamHandle = await tracingHelper.stopTracingAndReturnStream();
27 var data1 = await tracingHelper.retrieveStream(streamHandle, null, null);
28 var data2 = await tracingHelper.retrieveStream(streamHandle, 0, 1000);
29 if (data1 !== data2)
30 testRunner.log('FAIL: got different data for cunked vs. non-chunked reads');
31 var response = await dp.IO.close({ handle: streamHandle });
32 testRunner.log('Error after legit close: ' + JSON.stringify(response.error));
33 response = await dp.IO.read({ handle: streamHandle });
34 testRunner.log('Error after illegal read: ' + JSON.stringify(response.error));
35 response = await dp.IO.close({ handle: streamHandle });
36 testRunner.log('Error after illegal close: ' + JSON.stringify(response.error)) ;
37 var trace = JSON.parse(data1);
38 performEventsSanityCheck(trace['traceEvents']);
39 testRunner.log('Metadata: ' + typeof trace['metadata'] + (trace['metadata'] ? ', not null' : ''));
40 testRunner.completeTest();
41
42 function assertGreaterOrEqual(a, b, message) {
43 if (a >= b)
44 return;
45 testRunner.log(message + ' (' + a + ' < ' + b + ')');
46 testRunner.completeTest();
47 }
48
49 function performEventsSanityCheck(events) {
50 var phaseComplete = 0;
51
52 var knownEvents = {
53 'MessageLoop::PostTask': 0,
54 'FunctionCall': 0,
55 'UpdateLayoutTree': 0,
56 'Layout': 0
57 };
58
59 for (var i = 0; i < events.length; ++i) {
60 var event = events[i];
61 if (event.phase === 'X')
62 ++phaseComplete;
63 if (event.name in knownEvents)
64 ++knownEvents[event.name];
65 }
66 assertGreaterOrEqual(events.length, 10, 'Too few trace events recorded');
67 assertGreaterOrEqual(knownEvents['UpdateLayoutTree'], 1, 'Too few UpdateLayo utTree events');
68 assertGreaterOrEqual(knownEvents['Layout'], 1, 'Too few Layout events');
69 testRunner.log('Event sanity test done');
70 }
71 })
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698