| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../http/tests/inspector/resources/inspector-test.js"></script> |
| <script> |
| function test() { |
| let suite = InspectorTest.createAsyncSuite("WI.incrementElementValue"); |
| |
| suite.addTestCase({ |
| name: "incrementElementValue.numeric", |
| description: "Ensure that WI.incrementElementValue increments and decrements a numeric value.", |
| test(resolve, reject) { |
| let span = document.createElement("span"); |
| span.contentEditable = true; |
| span.textContent = "font-size: 10px;"; |
| document.body.append(span); |
| |
| let selection = window.getSelection(); |
| let textNode = span.firstChild; |
| selection.setBaseAndExtent(textNode, "font-size: ".length, textNode, "font-size: 10px".length); |
| |
| WI.incrementElementValue(span, 0.1); |
| InspectorTest.expectEqual(span.textContent, "font-size: 10.1px;", `Should increment by 0.1.`); |
| |
| WI.incrementElementValue(span, -1); |
| InspectorTest.expectEqual(span.textContent, "font-size: 9.1px;", `Should decrement by 1.`); |
| |
| WI.incrementElementValue(span, 10); |
| InspectorTest.expectEqual(span.textContent, "font-size: 19.1px;", `Should increment by 10.`); |
| |
| WI.incrementElementValue(span, -100); |
| InspectorTest.expectEqual(span.textContent, "font-size: -80.9px;", `Should decrement by 100.`); |
| |
| resolve(); |
| } |
| }); |
| |
| suite.addTestCase({ |
| name: "incrementElementValue.nonNumeric", |
| description: "Ensure that WI.incrementElementValue does not change non-numeric values.", |
| test(resolve, reject) { |
| let span = document.createElement("span"); |
| span.contentEditable = true; |
| span.textContent = "background-color"; |
| document.body.append(span); |
| |
| let selection = window.getSelection(); |
| let textNode = span.firstChild; |
| selection.setBaseAndExtent(textNode, "background".length, textNode, "background-".length); |
| |
| WI.incrementElementValue(span, 1); |
| InspectorTest.expectEqual(span.textContent, "background-color", `Text should not change.`); |
| |
| resolve(); |
| } |
| }); |
| |
| suite.runTestCasesAndFinish(); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Testing that WI.incrementElementValue works for numeric values.</p> |
| </body> |
| </html> |