| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("Test the behavior of CSSStyleDeclaration.setProperty()"); |
| |
| var div = document.createElement("div"); |
| debug("* Not enough parameters"); |
| shouldThrow("div.style.setProperty()"); |
| shouldThrow("div.style.setProperty('color')"); |
| |
| debug(""); |
| debug("* Should treat null as empty string for 'value' parameter"); |
| shouldNotThrow("div.style.setProperty('color', null)"); |
| shouldBeEqualToString("div.style.getPropertyValue('color')", ""); |
| shouldBeEqualToString("div.style.getPropertyPriority('color')", ""); |
| |
| debug(""); |
| debug("* Should treat null as empty string for 'priority' parameter"); |
| shouldNotThrow("div.style.setProperty('background-color', 'green', null)"); |
| shouldBeEqualToString("div.style.getPropertyValue('background-color')", "green"); |
| shouldBeEqualToString("div.style.getPropertyPriority('background-color')", ""); |
| |
| debug(""); |
| debug("* Last parameter should do a case-insensitive match to 'important'"); |
| shouldNotThrow("div.style.setProperty('border-left-color', 'green', 'important')"); |
| shouldBeEqualToString("div.style.getPropertyValue('border-left-color')", "green"); |
| shouldBeEqualToString("div.style.getPropertyPriority('border-left-color')", "important"); |
| shouldNotThrow("div.style.setProperty('border-right-color', 'green', 'IMPORTANT')"); |
| shouldBeEqualToString("div.style.getPropertyValue('border-right-color')", "green"); |
| shouldBeEqualToString("div.style.getPropertyPriority('border-right-color')", "important"); |
| |
| debug(""); |
| debug("* Invalid 'priority' value, should abort"); |
| shouldNotThrow("div.style.setProperty('border-top-color', 'red', 'invalid')"); |
| shouldBeEqualToString("div.style.getPropertyValue('border-top-color')", ""); |
| shouldBeEqualToString("div.style.getPropertyPriority('border-top-color')", ""); |
| shouldNotThrow("div.style.setProperty('border-top-color', 'red', 'important invalid')"); |
| shouldBeEqualToString("div.style.getPropertyValue('border-top-color')", ""); |
| shouldBeEqualToString("div.style.getPropertyPriority('border-top-color')", ""); |
| shouldNotThrow("div.style.setProperty('border-top-color', 'red', '!important')"); |
| shouldBeEqualToString("div.style.getPropertyValue('border-top-color')", ""); |
| shouldBeEqualToString("div.style.getPropertyPriority('border-top-color')", ""); |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |