gecko-dev/dom/performance/tests/serverTiming.sjs
Kershaw Chang ext:(%2C%20Valentin%20Gosu%20%3Cvalentin.gosu%40gmail.com%3E) 91dde27e0c Bug 1423495 - Part2: Test case, r=baku
Test steps:
1. Create a XHR to get serverTiming.sjs.
2. Add Server-Timing headers in serverTiming.sjs.
3. Check if the value from PerformanceResourceTiming is correct.

MozReview-Commit-ID: KOQhoFQv4fy

--HG--
extra : rebase_source : a0f5bde872ca9e066764d90ab80d7848988f37a8
2018-01-10 04:02:00 +01:00

33 lines
1.2 KiB
JavaScript

var responseServerTiming = [{metric:"metric1", duration:"123.4", description:"description1"},
{metric:"metric2", duration:"456.78", description:"description2"}];
var trailerServerTiming = [{metric:"metric3", duration:"789.11", description:"description3"},
{metric:"metric4", duration:"1112.13", description:"description4"}];
function createServerTimingHeader(headerData) {
var header = "";
for (var i = 0; i < headerData.length; i++) {
header += "Server-Timing:" + headerData[i].metric + ";" +
"dur=" + headerData[i].duration + ";" +
"desc=" + headerData[i].description + "\r\n";
}
return header;
}
function handleRequest(request, response)
{
var body = "c\r\ndata reached\r\n3\r\nhej\r\n0\r\n";
response.seizePower();
response.write("HTTP/1.1 200 OK\r\n");
response.write("Content-Type: text/plain\r\n");
response.write(createServerTimingHeader(responseServerTiming));
response.write("Transfer-Encoding: chunked\r\n");
response.write("\r\n");
response.write(body);
response.write(createServerTimingHeader(trailerServerTiming));
response.write("\r\n");
response.finish();
}