| OLD | NEW |
| (Empty) |
| 1 description("Test exceptions thrown by the CSSPrimitiveValue APIs. Primitive val
ues are currently immutable (see https://bugs.webkit.org/show_bug.cgi?id=31223)"
); | |
| 2 | |
| 3 var element = document.createElement('div'); | |
| 4 element.id = "test-element" | |
| 5 document.documentElement.appendChild(element); | |
| 6 | |
| 7 var styleElement = document.createElement('style'); | |
| 8 styleElement.innerText = "#test-element { position: absolute; left: 10px; font-f
amily: Times; }"; | |
| 9 document.documentElement.appendChild(styleElement); | |
| 10 | |
| 11 function checkThrows(style) { | |
| 12 left = style.getPropertyCSSValue("left"); | |
| 13 | |
| 14 shouldBe("left.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "10"); | |
| 15 shouldBe("left.getFloatValue(CSSPrimitiveValue.CSS_DIMENSION)", "10"); | |
| 16 shouldBe("left.getFloatValue(CSSPrimitiveValue.CSS_PX)", "10"); | |
| 17 | |
| 18 shouldThrow("left.setFloatValue(CSSPrimitiveValue.CSS_NUMBER, 25)"); | |
| 19 shouldThrow("left.setFloatValue(CSSPrimitiveValue.CSS_DIMENSION, 25)"); | |
| 20 shouldThrow("left.setFloatValue(CSSPrimitiveValue.CSS_PX, 25)"); | |
| 21 shouldThrow("left.setFloatValue(CSSPrimitiveValue.CSS_UNKNOWN, 25)"); | |
| 22 shouldThrow("left.setFloatValue(CSSPrimitiveValue.CSS_STRING, 25)"); | |
| 23 shouldThrow("left.getFloatValue(CSSPrimitiveValue.CSS_UNKNOWN)"); | |
| 24 shouldThrow("left.getFloatValue(CSSPrimitiveValue.CSS_STRING)"); | |
| 25 | |
| 26 shouldThrow("left.getStringValue()"); | |
| 27 shouldThrow("left.getCounterValue()"); | |
| 28 shouldThrow("left.getRectValue()"); | |
| 29 shouldThrow("left.getRGBColorValue()"); | |
| 30 | |
| 31 shouldBe("left.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "10"); | |
| 32 shouldBe("left.getFloatValue(CSSPrimitiveValue.CSS_DIMENSION)", "10"); | |
| 33 shouldBe("left.getFloatValue(CSSPrimitiveValue.CSS_PX)", "10"); | |
| 34 | |
| 35 fontFamily = style.getPropertyCSSValue("font-family")[0]; | |
| 36 | |
| 37 shouldBe("fontFamily.getStringValue()", '"Times"'); | |
| 38 | |
| 39 shouldThrow("fontFamily.setStringValue(CSSPrimitiveValue.CSS_STRING, 'Hi the
re!')"); | |
| 40 shouldThrow("fontFamily.setStringValue(CSSPrimitiveValue.CSS_ATTR, \"G'day!\
")"); | |
| 41 shouldThrow("fontFamily.setStringValue(CSSPrimitiveValue.CSS_UNKNOWN, 'Hi th
ere!')"); | |
| 42 shouldThrow("fontFamily.setStringValue(CSSPrimitiveValue.CSS_DIMENSION, \"G'
day!\")"); | |
| 43 shouldThrow("fontFamily.setStringValue(CSSPrimitiveValue.CSS_COUNTER, 'Hello
, world!')"); | |
| 44 | |
| 45 shouldThrow("fontFamily.getFloatValue()"); | |
| 46 shouldThrow("fontFamily.getCounterValue()"); | |
| 47 shouldThrow("fontFamily.getRectValue()"); | |
| 48 shouldThrow("fontFamily.getRGBColorValue()"); | |
| 49 | |
| 50 shouldBe("fontFamily.getStringValue()", '"Times"'); | |
| 51 } | |
| 52 | |
| 53 var style = styleElement.sheet.cssRules[0].style; | |
| 54 checkThrows(style); | |
| 55 | |
| 56 var computedStyle = window.getComputedStyle(element, null); | |
| 57 checkThrows(computedStyle); | |
| OLD | NEW |