82 lines
2.8 KiB
HTML
82 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
*{a:1;b:2;c:3}
|
|
body>*{a:1;b:2;c:3}
|
|
@media all {body>div{a:1;b:2;c:3}}
|
|
@media only screen and (min-width:0px) {body>#test-node{a:1;b:2;c:3}}
|
|
@media only screen and (min-width:0px) {@media only screen and (min-height:0px) {body>div#test-node{a:1;b:2;c:3}}}
|
|
</style>
|
|
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
|
|
<script>
|
|
function test() {
|
|
let nodeStyles = null;
|
|
|
|
let suite = InspectorTest.createSyncSuite("CSS.generateCSSRuleString");
|
|
|
|
suite.addTestCase({
|
|
name: "CSS.generateCSSRuleString.InlineStyle",
|
|
description: "Check the formatting of the generated inline style string.",
|
|
test() {
|
|
InspectorTest.log(nodeStyles.inlineStyle.generateCSSRuleString());
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "CSS.generateCSSRuleString.InlineStyle.WithCommentedProperty",
|
|
description: "Check the formatting of the generated inline style string if a property is commented out.",
|
|
test() {
|
|
nodeStyles.inlineStyle.properties[1].commentOut(true);
|
|
InspectorTest.log(nodeStyles.inlineStyle.generateCSSRuleString());
|
|
},
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "CSS.generateCSSRuleString.MatchedRules",
|
|
description: "Check the formatting of the generated string for all matched CSS rules.",
|
|
test() {
|
|
for (let rule of nodeStyles.matchedRules)
|
|
InspectorTest.log(rule.style.generateCSSRuleString());
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "CSS.generateCSSRuleString.MatchedRules.WithCommentedProperties",
|
|
description: "Check the formatting of the generated string for all matched CSS rules if a property is commented out in each.",
|
|
test() {
|
|
for (let rule of nodeStyles.matchedRules) {
|
|
if (!rule.style.editable)
|
|
continue;
|
|
|
|
rule.style.properties[1].commentOut(true);
|
|
InspectorTest.log(rule.style.generateCSSRuleString());
|
|
}
|
|
}
|
|
});
|
|
|
|
WI.domManager.requestDocument((documentNode) => {
|
|
documentNode.querySelector("#test-node", async (contentNodeId) => {
|
|
if (!contentNodeId) {
|
|
InspectorTest.log("DOM node not found.");
|
|
InspectorTest.completeTest();
|
|
return;
|
|
}
|
|
|
|
let domNode = WI.domManager.nodeForId(contentNodeId);
|
|
nodeStyles = WI.cssManager.stylesForNode(domNode);
|
|
if (nodeStyles.needsRefresh)
|
|
await nodeStyles.awaitEvent(WI.DOMNodeStyles.Event.Refreshed);
|
|
|
|
suite.runTestCasesAndFinish();
|
|
});
|
|
});
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Testing that generated CSS rule strings have proper formatting.</p>
|
|
<div id="test-node" style="a:1;b:2;c:3"></div>
|
|
</body>
|
|
</html>
|