| <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> |