| <html> | |
| <head> | |
| <script src="../../js/resources/js-test-pre.js"></script> | |
| <style> | |
| .visible { position: absolute; } | |
| .hidden { position: relative; display: none; } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="test">Tests that getComputedStyle returns length properties with a unit.</div> | |
| <div id="console"></div> | |
| <script> | |
| var propertiesToCheck = { | |
| "background-position": "10px 10px", | |
| "background-size": "400px 300px", | |
| "-webkit-border-horizontal-spacing": "10px", | |
| "-webkit-border-vertical-spacing": "10px", | |
| "border-top-width": "2px", | |
| "border-right-width": "2px", | |
| "border-bottom-width": "2px", | |
| "border-left-width": "2px", | |
| "border-top-left-radius": "5px", | |
| "border-top-right-radius": "5px", | |
| "border-bottom-left-radius": "5px", | |
| "border-bottom-right-radius": "5px", | |
| "outline-width": "2px", | |
| "-webkit-column-rule-width": "10px", | |
| "-webkit-column-width": "80px", | |
| "-webkit-column-gap": "20px", | |
| "-webkit-marquee-increment": "10px", | |
| "-webkit-mask-position": "10px 10px", | |
| "-webkit-mask-size": "10px 10px", | |
| "-webkit-perspective": "400px", | |
| "-webkit-perspective-origin": "20px 20px", | |
| "-webkit-text-stroke-width": "2px", | |
| "-webkit-transform-origin": "10px 10px", | |
| "left": "20px", | |
| "top": "20px", | |
| "right": "50px", | |
| "bottom": "50px", | |
| "font-size": "20px", | |
| "width": "400px", | |
| "max-width": "900px", | |
| "min-width": "200px", | |
| "height": "250px", | |
| "max-height": "600px", | |
| "min-height": "200px", | |
| "letter-spacing": "2px", | |
| "word-spacing": "10px", | |
| "margin-top": "10px", | |
| "margin-right": "10px", | |
| "margin-bottom": "10px", | |
| "margin-left": "10px", | |
| "padding-top": "10px", | |
| "padding-right": "10px", | |
| "padding-bottom": "10px", | |
| "padding-left": "10px", | |
| "text-indent": "10px" | |
| }; | |
| var testElement = document.getElementById('test'); | |
| for (var propertyName in propertiesToCheck) | |
| testElement.style[propertyName] = propertiesToCheck[propertyName]; | |
| function testPropertyUnit(className, propertyName) | |
| { | |
| if (testElement.className != className) | |
| testElement.className = className; | |
| var computedStyled = document.defaultView.getComputedStyle(testElement); | |
| var results = /\d+([a-z%]+)/.exec(computedStyled[propertyName]); | |
| return results ? results[1] : ''; | |
| } | |
| for (var propertyName in propertiesToCheck) | |
| shouldBe("testPropertyUnit('visible', '" + propertyName + "')", "'px'"); | |
| for (var propertyName in propertiesToCheck) | |
| shouldBe("testPropertyUnit('hidden', '" + propertyName + "')", "'px'"); | |
| for (var propertyName in propertiesToCheck) | |
| testElement.style[propertyName] = ''; | |
| </script> | |
| </body> | |
| </html> |