| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="../../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <p>Test computed style for the border-image property and sub-properties</p> |
| <div id="console"></div> |
| <script> |
| |
| var testDiv = document.createElement('div'); |
| testDiv.style.borderWidth = '10px'; |
| document.body.appendChild(testDiv); |
| |
| function computedBorderImageStyle(borderImageStyle, property) { |
| testDiv.style.borderImage = 'none'; |
| testDiv.style.borderImage = borderImageStyle; |
| return window.getComputedStyle(testDiv).getPropertyValue(property); |
| } |
| |
| function checkComputedStyleValue() { |
| var before = window.getComputedStyle(testDiv).getPropertyValue('border-image'); |
| testDiv.style.borderImage = 'none'; |
| testDiv.style.borderImage = before; |
| return (window.getComputedStyle(testDiv).getPropertyValue('border-image') == before); |
| } |
| |
| shouldBe("computedBorderImageStyle('12 11 12 11', 'border-image-slice')", "'12 11'"); |
| shouldBe("computedBorderImageStyle('12 11 12 11', 'border-image')", "'none'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 12 11 repeat stretch', 'border-image-slice')", "'12 11'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 12 11 repeat stretch', 'border-image')", "'url(dummy://test.png) 12 11 / 1 / 0px repeat stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 1 2 3 4 repeat stretch', 'border-image-slice')", "'1 2 3 4'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 1 2 3 4 repeat stretch', 'border-image')", "'url(dummy://test.png) 1 2 3 4 / 1 / 0px repeat stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 12 repeat stretch', 'border-image-slice')", "'12'"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 10 5 5 repeat stretch', 'border-image-slice')", "'10 10 5 5'"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 a b c repeat stretch', 'border-image-slice')", "'100%'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 a b c repeat stretch', 'border-image')", "'none'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 20 fill', 'border-image-slice')", "'10 20 fill'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 20 fill', 'border-image')", "'url(dummy://test.png) 10 20 fill / 1 / 0px stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 10 10 10 repeat stretch', 'border-image-source')", "'url(dummy://test.png)'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 10 10 10 repeat stretch', 'border-image')", "'url(dummy://test.png) 10 / 1 / 0px repeat stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| |
| shouldBe("computedBorderImageStyle('url(test.png) 10', 'border-image-repeat')", "'stretch'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10', 'border-image')", "'url(dummy://test.png) 10 / 1 / 0px stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 stretch', 'border-image-repeat')", "'stretch'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 stretch', 'border-image')", "'url(dummy://test.png) 10 / 1 / 0px stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 kittens', 'border-image-repeat')", "'stretch'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 kittens', 'border-image')", "'none'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 stretch stretch fill', 'border-image-repeat')", "'stretch'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 stretch stretch fill', 'border-image')", "'none'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 repeat stretch', 'border-image-repeat')", "'repeat stretch'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 repeat stretch', 'border-image')", "'url(dummy://test.png) 10 / 1 / 0px repeat stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 round space', 'border-image-repeat')", "'round space'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 round space', 'border-image')", "'url(dummy://test.png) 10 / 1 / 0px round space'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| |
| shouldBe("computedBorderImageStyle('url(test.png) 10 / 13px 1.5em 1em 10px', 'border-image-width')", "'13px 24px 16px 10px'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 / 13px 1.5em 1em 10px', 'border-image')", "'url(dummy://test.png) 10 / 13px 24px 16px 10px / 0px stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 / 14px 10%', 'border-image-width')", "'14px 10%'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 / 14px 10%', 'border-image')", "'url(dummy://test.png) 10 / 14px 10% / 0px stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| shouldBe("computedBorderImageStyle('url(test.png) 10 / 13px / 11px', 'border-image-outset')", "'11px'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 / 13px / 11px', 'border-image')", "'url(dummy://test.png) 10 / 13px / 11px stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| |
| shouldBe("computedBorderImageStyle('url(test.png) 10 / 13px / 11px repeat stretch', 'border-image-outset')", "'11px'"); |
| shouldBe("computedBorderImageStyle('url(dummy://test.png) 10 / 13px / 11px repeat stretch', 'border-image')", "'url(dummy://test.png) 10 / 13px / 11px repeat stretch'"); |
| shouldBe("checkComputedStyleValue()", "true"); |
| |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |