| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="../../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script> |
| |
| description("Test to make sure margin shorthand property returns CSSValueList properly.") |
| |
| var testContainer = document.createElement("div"); |
| testContainer.contentEditable = true; |
| document.body.appendChild(testContainer); |
| |
| testContainer.innerHTML = '<div style="width:100px;height:100px"><div id="test">hello</div></div>'; |
| |
| e = document.getElementById('test'); |
| computedStyle = window.getComputedStyle(e, null); |
| |
| e.style.margin = "10px 5px 4px 3px"; |
| shouldBe("computedStyle.getPropertyValue('margin')", "'10px 5px 4px 3px'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').toString()", "'[object CSSValueList]'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').length", "4"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').cssText", "'10px 5px 4px 3px'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(0).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "10"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(1).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "5"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(2).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "4"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(3).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "3"); |
| |
| e.style.margin = "4em 5em 6em 7em"; |
| shouldBe("computedStyle.getPropertyValue('margin')", "'64px 80px 96px 112px'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').toString()", "'[object CSSValueList]'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').length", "4"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').cssText", "'64px 80px 96px 112px'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(0).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "64"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(1).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "80"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(2).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "96"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(3).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "112"); |
| |
| e.style.margin = "5% 6% 7% 8%"; |
| shouldBe("computedStyle.getPropertyValue('margin')", "'5px 6px 7px 8px'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').toString()", "'[object CSSValueList]'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').length", "4"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').cssText", "'5px 6px 7px 8px'"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(0).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "5"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(1).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "6"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(2).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "7"); |
| shouldBe("computedStyle.getPropertyCSSValue('margin').item(3).getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "8"); |
| |
| document.body.removeChild(testContainer); |
| |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |