| <html> |
| <head> |
| <script src="../../http/tests/inspector/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/elements-test.js"></script> |
| <script> |
| |
| function testSetNewValue() |
| { |
| document.getElementById("node-set-new-value").style.setProperty("color", "blue"); |
| } |
| |
| function testSetSameValue() |
| { |
| document.getElementById("node-set-same-value").style.setProperty("color", "red"); |
| } |
| |
| function test() |
| { |
| // Save time on style updates. |
| WebInspector.showPanel("elements"); |
| WebInspector.StylesSidebarPane.prototype.update = function() {}; |
| WebInspector.MetricsSidebarPane.prototype.update = function() {}; |
| |
| InspectorTest.runTestSuite([ |
| function testSetUp(next) |
| { |
| InspectorTest.expandElementsTree(next); |
| }, |
| |
| function testSetNewValue(next) |
| { |
| InspectorTest.evaluateInPage("testSetNewValue()"); |
| |
| WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrModified, listener); |
| function listener(event) |
| { |
| InspectorTest.addResult("WebInspector.DOMAgent.Events.AttrModified should be issued"); |
| WebInspector.domAgent.removeEventListener(WebInspector.DOMAgent.Events.AttrModified, listener); |
| next(); |
| } |
| }, |
| |
| function testSetSameValue(next) |
| { |
| InspectorTest.evaluateInPage("testSetSameValue()"); |
| |
| WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrModified, listener); |
| function listener(event) |
| { |
| InspectorTest.addResult("WebInspector.DOMAgent.Events.AttrModified should not be issued"); |
| WebInspector.domAgent.removeEventListener(WebInspector.DOMAgent.Events.AttrModified, listener); |
| } |
| |
| InspectorTest.addSniffer(WebInspector.DOMNode.prototype, "_setAttributesPayload", callback); |
| function callback() |
| { |
| InspectorTest.addResult("WebInspector.DOMNode.prototype._setAttributesPayload should be called"); |
| WebInspector.domAgent.removeEventListener(WebInspector.DOMAgent.Events.AttrModified, listener); |
| next(); |
| } |
| } |
| ]); |
| } |
| |
| </script> |
| </head> |
| |
| <body onload="runTest()"> |
| <p> |
| Tests that style modification generates attribute updated event only when attribute is actually changed. |
| </p> |
| |
| <div id="container"> |
| <div id="node-set-new-value" style="color:red"></div> |
| <div id="node-set-same-value" style="color:red"></div> |
| </div> |
| </body> |
| </html> |