Chromium Code Reviews| Index: LayoutTests/inspector/elements/styles/styles-update-links.html |
| diff --git a/LayoutTests/inspector/elements/styles/styles-update-links.html b/LayoutTests/inspector/elements/styles/styles-update-links.html |
| index 1eb2c4681d2ede90e89cb2cbf6a336a8640a4ddd..b9bcdf58dc812a939a542906203b4d8e93c9fd9f 100644 |
| --- a/LayoutTests/inspector/elements/styles/styles-update-links.html |
| +++ b/LayoutTests/inspector/elements/styles/styles-update-links.html |
| @@ -75,20 +75,20 @@ function test() |
| return true; |
| } |
| - function validateRuleRanges(rules, callback) |
| + function validateRuleRanges(selector, rules, callback) |
| { |
| InspectorTest.selectNodeAndWaitForStyles("other", onOtherSelected); |
| function onOtherSelected() |
| { |
| - InspectorTest.selectNodeAndWaitForStyles("container", onContainerSelected); |
| + InspectorTest.selectNodeAndWaitForStyles(selector, onContainerSelected); |
| } |
| function onContainerSelected() |
| { |
| var fetchedRules = getMatchedRules(); |
| if (fetchedRules.length !== rules.length) { |
| - InspectorTest.addResult("Error: rules sizes are not equal!"); |
| + InspectorTest.addResult("Error: rules sizes are not equal! " + (fetchedRules.length - rules.length)); |
|
vsevik
2014/11/05 06:49:11
Expected: %d, actual: %d
lushnikov
2014/11/05 08:51:09
Done.
|
| InspectorTest.completeTest(); |
| return; |
| } |
| @@ -104,70 +104,115 @@ function test() |
| function getMatchedRules() |
| { |
| - var matchedStyleSections = WebInspector.panels.elements.sidebarPanes.styles.sections[0]; |
| var rules = []; |
| - for (var i = 1; i < matchedStyleSections.length; ++i) { |
| - var rule = matchedStyleSections[i].rule; |
| - if (rule) |
| - rules.push(rule); |
| + for (var pseudoId in WebInspector.panels.elements.sidebarPanes.styles.sections) { |
| + var matchedStyleSections = WebInspector.panels.elements.sidebarPanes.styles.sections[pseudoId]; |
| + for (var i = 0; i < matchedStyleSections.length; ++i) { |
| + var section = matchedStyleSections[i]; |
| + if (section.computedStyle) |
| + continue; |
| + var rule = section.rule; |
| + if (rule) |
| + rules.push(rule); |
| + } |
| } |
| return rules; |
| } |
| - function insertProperty() |
| - { |
| - InspectorTest.dumpSelectedElementStyles(true, false, true); |
| - var treeItem = InspectorTest.getMatchedStylePropertyTreeItem("color"); |
| - var treeElement = treeItem.section().addNewBlankProperty(1); |
| - InspectorTest.waitForStyleApplied(onPropertyInserted); |
| - treeElement.applyStyleText("PROPERTY: INSERTED;", true, true); |
| - } |
| - |
| - function onPropertyInserted() |
| - { |
| - InspectorTest.addResult("\n\n#### AFTER PROPERTY INSERTION ####\n\n"); |
| - InspectorTest.dumpSelectedElementStyles(true, false, true); |
| - var rules = getMatchedRules(); |
| - validateRuleRanges(rules, editSelector); |
| - } |
| + InspectorTest.runTestSuite([ |
| + function selectInitialNode(next) |
| + { |
| + InspectorTest.selectNodeAndWaitForStyles("container", next); |
| + }, |
| - function editSelector() |
| - { |
| - var section = WebInspector.panels.elements.sidebarPanes.styles.sections[0][4]; |
| - section.startEditingSelector(); |
| - section._selectorElement.textContent = ".should-change, .INSERTED-OTHER-SELECTOR"; |
| - InspectorTest.waitForSelectorCommitted(onSelectorEdited); |
| - section._selectorElement.dispatchEvent(InspectorTest.createKeyEvent("Enter")); |
| - } |
| + function testInsertProperty(next) |
| + { |
| + InspectorTest.dumpSelectedElementStyles(true, false, true); |
| + var treeItem = InspectorTest.getMatchedStylePropertyTreeItem("color"); |
| + var treeElement = treeItem.section().addNewBlankProperty(1); |
| + InspectorTest.waitForStyleApplied(onPropertyInserted); |
| + treeElement.applyStyleText("PROPERTY: INSERTED;", true, true); |
| + |
| + function onPropertyInserted() |
| + { |
| + InspectorTest.addResult("\n\n#### AFTER PROPERTY INSERTION ####\n\n"); |
| + InspectorTest.dumpSelectedElementStyles(true, false, true); |
| + var rules = getMatchedRules(); |
| + validateRuleRanges("container", rules, next); |
| + } |
| + }, |
| - function onSelectorEdited() |
| - { |
| - InspectorTest.addResult("\n\n#### AFTER SELECTOR EDIT ####\n\n"); |
| - InspectorTest.dumpSelectedElementStyles(true, false, true); |
| - var rules = getMatchedRules(); |
| - validateRuleRanges(rules, disableProperty); |
| - } |
| + function testEditSelector(next) |
| + { |
| + var section = WebInspector.panels.elements.sidebarPanes.styles.sections[0][4]; |
| + section.startEditingSelector(); |
| + section._selectorElement.textContent = ".should-change, .INSERTED-OTHER-SELECTOR"; |
| + InspectorTest.waitForSelectorCommitted(onSelectorEdited); |
| + section._selectorElement.dispatchEvent(InspectorTest.createKeyEvent("Enter")); |
| + |
| + function onSelectorEdited() |
| + { |
| + InspectorTest.addResult("\n\n#### AFTER SELECTOR EDIT ####\n\n"); |
| + InspectorTest.dumpSelectedElementStyles(true, false, true); |
| + var rules = getMatchedRules(); |
| + validateRuleRanges("container", rules, next); |
| + } |
| + }, |
| - function disableProperty() |
| - { |
| - var treeItem = InspectorTest.getMatchedStylePropertyTreeItem("border"); |
| - InspectorTest.waitForStyleApplied(onPropertyDisabled); |
| - treeItem.toggleEnabled({ target: { checked: false }, consume: function() { } }); |
| - } |
| + function testDisableProperty(next) |
| + { |
| + var treeItem = InspectorTest.getMatchedStylePropertyTreeItem("border"); |
| + InspectorTest.waitForStyleApplied(onPropertyDisabled); |
| + treeItem.toggleEnabled({ target: { checked: false }, consume: function() { } }); |
| + |
| + function onPropertyDisabled() |
| + { |
| + InspectorTest.addResult("\n\n#### AFTER PROPERTY DISABLED ####\n\n"); |
| + InspectorTest.dumpSelectedElementStyles(true, false, true); |
| + var rules = getMatchedRules(); |
| + validateRuleRanges("container", rules, next); |
| + } |
| + }, |
| - function onPropertyDisabled() |
| - { |
| - InspectorTest.addResult("\n\n#### AFTER PROPERTY DISABLED ####\n\n"); |
| - InspectorTest.dumpSelectedElementStyles(true, false, true); |
| - var rules = getMatchedRules(); |
| - validateRuleRanges(rules, InspectorTest.completeTest.bind(InspectorTest)); |
| - } |
| + function selectNodeWithPseudoElements(next) |
| + { |
| + InspectorTest.selectNodeAndWaitForStyles("pseudo", next); |
| + }, |
| - InspectorTest.selectNodeAndWaitForStyles("container", insertProperty); |
| + function testPseudoSectionPropertyEdit(next) |
| + { |
| + var treeItem = InspectorTest.getMatchedStylePropertyTreeItem("pseudo-property"); |
| + var treeElement = treeItem.section().addNewBlankProperty(1); |
| + InspectorTest.waitForStyleApplied(onPropertyInserted); |
| + treeElement.applyStyleText("PROPERTY: INSERTED;", true, true); |
| + |
| + function onPropertyInserted() |
| + { |
| + InspectorTest.addResult("\n\n#### AFTER PROPERTY INSERTED ####\n\n"); |
| + InspectorTest.dumpSelectedElementStyles(true, false, true); |
| + var rules = getMatchedRules(); |
| + validateRuleRanges("pseudo", rules, next); |
| + } |
| + }, |
| + ]); |
| } |
| </script> |
| <link rel="stylesheet" href="resources/styles-update-links-2.css"></link> |
| <link rel="stylesheet" href="resources/styles-update-links.css"></link> |
| +<style> |
| +#pseudo::after { |
| + pseudo-property: "12"; |
| + color: red; |
| +} |
| + |
| +#pseudo::after { |
| + border: 1px solid black; |
| +} |
| + |
| +#pseudo::before { |
| + color: blue; |
| +} |
| +</style> |
| </head> |
| <body onload="runTest()"> |
| @@ -181,5 +226,7 @@ Red text here. |
| <div id="other"></div> |
| +<section id="pseudo"></div> |
| + |
| </body> |
| </html> |