90 lines
2.4 KiB
HTML
90 lines
2.4 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
|
|
<style>
|
|
#test {
|
|
margin: 1px 2px 3px 4px;
|
|
}
|
|
</style>
|
|
<script>
|
|
function test()
|
|
{
|
|
Promise.resolve()
|
|
.then(() => {
|
|
ProtocolTest.log("Enabling Page domain...");
|
|
return InspectorProtocol.awaitCommand({
|
|
method: "Page.enable",
|
|
params: {},
|
|
});
|
|
})
|
|
.then(() => {
|
|
ProtocolTest.log("Enabling CSS domain...");
|
|
return InspectorProtocol.awaitCommand({
|
|
method: "CSS.enable",
|
|
params: {},
|
|
});
|
|
})
|
|
.then(() => {
|
|
ProtocolTest.log("Requesting document...");
|
|
return InspectorProtocol.awaitCommand({
|
|
method: "DOM.getDocument",
|
|
params: {},
|
|
});
|
|
})
|
|
.then(({root}) => {
|
|
ProtocolTest.log("Querying for \"#test\"...");
|
|
return InspectorProtocol.awaitCommand({
|
|
method: "DOM.querySelector",
|
|
params: {
|
|
nodeId: root.nodeId,
|
|
selector: "#test",
|
|
},
|
|
});
|
|
})
|
|
.then(({nodeId}) => {
|
|
ProtocolTest.log("Getting matched styles for \"#test\"...");
|
|
return InspectorProtocol.awaitCommand({
|
|
method: "CSS.getComputedStyleForNode",
|
|
params: {
|
|
nodeId,
|
|
},
|
|
});
|
|
})
|
|
.then(({computedStyle}) => {
|
|
let map = new Map;
|
|
for (let {name, value} of computedStyle) {
|
|
ProtocolTest.assert(!map.has(name), `Should have only one value for "${name}": ${value} vs ${map.get(name)}.`);
|
|
map.set(name, value);
|
|
}
|
|
|
|
ProtocolTest.newline();
|
|
|
|
function checkProperty(property, expected) {
|
|
ProtocolTest.expectEqual(map.get(property), expected, `Property "${property}" should have value "${expected}".`);
|
|
}
|
|
|
|
checkProperty("display", "block");
|
|
|
|
ProtocolTest.newline();
|
|
|
|
checkProperty("margin", "1px 2px 3px 4px");
|
|
checkProperty("margin-top", "1px");
|
|
checkProperty("margin-right", "2px");
|
|
checkProperty("margin-bottom", "3px");
|
|
checkProperty("margin-left", "4px");
|
|
})
|
|
.catch((error) => {
|
|
ProtocolTest.log(error);
|
|
})
|
|
.finally(() => {
|
|
ProtocolTest.completeTest();
|
|
});
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onLoad="runTest()">
|
|
<p>Testing CSS.getComputedStyleForNode.</p>
|
|
<div id="test"></div>
|
|
</body>
|
|
</html>
|