85 lines
3.4 KiB
HTML
85 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
|
|
<script>
|
|
passphrase = "page-passphrase";
|
|
let worker = new Worker("resources/worker-1.js", {name: "TestWorker"});
|
|
|
|
function test()
|
|
{
|
|
let mainTarget = WI.mainTarget;
|
|
let workerTarget = Array.from(WI.targets).find((target) => target.type === WI.TargetType.Worker);
|
|
if (!workerTarget) {
|
|
InspectorTest.fail("Missing Worker Target");
|
|
InspectorTest.completeTest();
|
|
return;
|
|
}
|
|
|
|
let suite = InspectorTest.createAsyncSuite("Worker.Runtime.basic");
|
|
|
|
suite.addTestCase({
|
|
name: "Main.Runtime.evaluate",
|
|
description: "Main target evaluation.",
|
|
test(resolve, reject) {
|
|
mainTarget.RuntimeAgent.evaluate("passphrase").then((payload) => {
|
|
let remoteObject = WI.RemoteObject.fromPayload(payload.result, mainTarget);
|
|
InspectorTest.log(`Target - ${mainTarget.displayName} - passphrase - ${remoteObject.description}`);
|
|
resolve();
|
|
}).catch(reject);
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "Worker.Runtime.evaluate",
|
|
description: "Worker target evaluation.",
|
|
test(resolve, reject) {
|
|
workerTarget.RuntimeAgent.evaluate("passphrase").then((payload) => {
|
|
let remoteObject = WI.RemoteObject.fromPayload(payload.result, workerTarget);
|
|
InspectorTest.log(`Target - ${workerTarget.displayName} - passphrase - ${remoteObject.description}`);
|
|
resolve();
|
|
}).catch(reject);
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "Main.Runtime.RemoteObjectAndPropertyDescriptor.",
|
|
description: "Should be able to dig further into RemoteObjects.",
|
|
test(resolve, reject) {
|
|
mainTarget.RuntimeAgent.evaluate("location").then((payload) => {
|
|
let remoteObject = WI.RemoteObject.fromPayload(payload.result, mainTarget);
|
|
remoteObject.getDisplayablePropertyDescriptors((propertyDescriptors) => {
|
|
let hrefPropertyDescriptor = propertyDescriptors.find((p) => p.name === "href");
|
|
let hrefValue = sanitizeURL(hrefPropertyDescriptor.value.description);
|
|
InspectorTest.log(`Target - ${mainTarget.displayName} - location and href - ${remoteObject.description}: ${hrefValue}`);
|
|
resolve();
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "Worker.Runtime.RemoteObjectAndPropertyDescriptor.",
|
|
description: "Should be able to dig further into RemoteObjects.",
|
|
test(resolve, reject) {
|
|
workerTarget.RuntimeAgent.evaluate("location").then((payload) => {
|
|
let remoteObject = WI.RemoteObject.fromPayload(payload.result, workerTarget);
|
|
remoteObject.getDisplayablePropertyDescriptors((propertyDescriptors) => {
|
|
let hrefPropertyDescriptor = propertyDescriptors.find((p) => p.name === "href");
|
|
let hrefValue = sanitizeURL(hrefPropertyDescriptor.value.description);
|
|
InspectorTest.log(`Target - ${workerTarget.displayName} - location and href - ${remoteObject.description}: ${hrefValue}`);
|
|
resolve();
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|
|
suite.runTestCasesAndFinish();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Test for RuntimeAgent in a Worker.</p>
|
|
</body>
|
|
</html>
|