blob: 4cd0c1b1f19ad28c03cd42b3b5e057c9355a266b [file] [log] [blame]
<html>
<head>
<script src="../http/tests/inspector/inspector-test.js"></script>
<script type="text/javascript">
function test()
{
var requestsSent = 0;
var responsesReceived = 0;
function finishWhenDone(agentName, action, errorString)
{
if (action === "enable")
InspectorTest.addResult("");
if (errorString)
InspectorTest.addResult(agentName + "." + action + " finished with error " + errorString);
else
InspectorTest.addResult(agentName + "." + action + " finished successfully");
++responsesReceived;
if (responsesReceived === requestsSent)
InspectorTest.completeTest();
}
var targets = SDK.targetManager.targets();
for (var target of targets) {
var agentNames = Object.keys(target._agents).filter(function(agentName) {
var agent = target._agents[agentName];
return agent["enable"] && agent["disable"] && agentName !== "ServiceWorker" && agentName !== "Security" && agentName !== "Inspector" && agentName !== "Target"; // async wrt others.
}).sort();
async function disableAgent(agentName)
{
++requestsSent;
var agent = target._agents[agentName];
var response = await agent.invoke_disable({});
finishWhenDone(agentName, "disable", response[Protocol.Error]);
}
async function enableAgent(agentName)
{
++requestsSent;
var agent = target._agents[agentName];
var response = await agent.invoke_enable({});
finishWhenDone(agentName, "enable", response[Protocol.Error]);
}
agentNames.forEach(disableAgent);
agentNames.forEach(agentName => {
enableAgent(agentName);
disableAgent(agentName);
});
}
}
</script>
</head>
<body onload="runTest()">
<p>Test that each agent could be enabled/disabled separately.</p>
</body>
</html>