blob: 073eb1f4833672e1603393fd093e5b017aacb920 [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/elements-test.js"></script>
<script>
function test()
{
WebInspector.showPanel("elements");
InspectorTest.selectNodeAndWaitForStyles("inspected", pasteFirstProperty);
function pasteFirstProperty()
{
InspectorTest.addResult("Before pasting:");
InspectorTest.dumpSelectedElementStyles(true);
var section = WebInspector.panels.elements.sidebarPanes.styles.sections[0][1];
section.expand();
var treeElement = section.addNewBlankProperty(0);
pasteProperty(treeElement, "margin-left: 1px", pasteTwoProperties);
}
function pasteTwoProperties()
{
InspectorTest.addResult("After pasting 'margin-left: 1px':");
InspectorTest.dumpSelectedElementStyles(true);
var treeElement = WebInspector.panels.elements.sidebarPanes.styles.sections[0][1].addNewBlankProperty(2);
pasteProperty(treeElement, "margin-top: 1px; color: red;", pasteOverExistingProperty);
}
function pasteOverExistingProperty()
{
InspectorTest.addResult("After pasting 'margin-top: 1px; color: red;':");
InspectorTest.dumpSelectedElementStyles(true);
var treeElement = InspectorTest.getElementStylePropertyTreeItem("margin-top");
pasteProperty(treeElement, "foo: bar; moo: zoo", dumpAndComplete);
}
function dumpAndComplete()
{
InspectorTest.addResult("After pasting 'foo: bar; moo: zoo' over 'margin-top':");
InspectorTest.dumpSelectedElementStyles(true);
InspectorTest.completeTest();
}
function pasteProperty(treeElement, propertyText, callback)
{
treeElement.nameElement.textContent = propertyText;
treeElement.startEditing();
document.execCommand("SelectAll");
document.execCommand("Copy");
document.execCommand("Paste");
InspectorTest.runAfterPendingDispatches(reloadStyles.bind(this, callback));
}
function reloadStyles(callback) {
InspectorTest.selectNodeWithId("other");
InspectorTest.runAfterPendingDispatches(otherCallback);
function otherCallback()
{
InspectorTest.selectNodeAndWaitForStyles("inspected", callback);
}
}
}
</script>
</head>
<body onload="runTest()">
<p>
Tests that splitting properties when pasting works.
</p>
<div id="inspected" style="font-size: 12px">Text</div>
<div id="other"></div>
</body>
</html>