<!--
Copyright 2018 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<html>
<head>
<script>
let fulfillDone = () => {};
const output = [];
const testRunner = {};
testRunner.dumpAsText = () => {};
testRunner.waitUntilDone = () => {};
testRunner.setPopupBlockingEnabled = () => {};
testRunner.notifyDone = () => {
return fulfillDone(output.join('\n'));
};
DevToolsHost = {};
DevToolsHost.sendMessageToEmbedder = (message) => {
const object = JSON.parse(message);
sendProtocolMessage(object.params[0]);
}
DevToolsHost.dummyPageURL = `http://127.0.0.1:${window.location.port}/protocol/inspector-protocol-page.html`;
</script>
<script src="../../resources/inspector-protocol-test.js"></script>
<script>
DevToolsAPI._log = text => output.push(text);
window.cdp.onmessage = json => {
DevToolsAPI.dispatchMessage(json);
}
function sendProtocolMessage(json) {
window.cdp.send(json);
}
async function runTest(params) {
const testScriptURL = params.test;
const testBaseURL = testScriptURL.substring(0, testScriptURL.lastIndexOf('/') + 1);
const targetPageURL = params.target || params.test;
const targetBaseURL = targetPageURL.substring(0, targetPageURL.lastIndexOf('/') + 1);
const testScript = await DevToolsAPI._fetch(testScriptURL);
const testFunction = eval(`${testScript}\n//# sourceURL=${testScriptURL}`);
const testRunner = new TestRunner(testBaseURL, targetBaseURL,
DevToolsAPI._log, DevToolsAPI._completeTest, DevToolsAPI._fetch, params);
if (params.dumpDevToolsProtocol)
testRunner.startDumpingProtocolMessages();
testFunction(testRunner);
return new Promise(fulfill => { fulfillDone = fulfill; });
}
</script>
</head>
</html>