| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <style> | |
| [name=victim] { | |
| background-color: #0f0; | |
| } | |
| [name=victim]:invalid { | |
| background-color: #f00; | |
| } | |
| </style> | |
| <script src="../../resources/js-test-pre.js"></script> | |
| </head> | |
| <body> | |
| <p id="description"></p> | |
| <select name="victim"></select> | |
| <textarea name="victim"></textarea> | |
| <input name="victim"> | |
| <div id="console"></div> | |
| <script> | |
| description('This test checks if setCustomValidity causes CSS to get applied correctly.'); | |
| var v = document.getElementsByName('victim'); | |
| var test; | |
| for (var i = 0; i < v.length; i++) { | |
| test = v[i]; | |
| shouldBeFalse('test.validity.customError'); | |
| shouldBeEqualToString('test.validationMessage', ''); | |
| shouldBeEqualToString('getComputedStyle(test).backgroundColor', 'rgb(0, 255, 0)'); | |
| var message = 'Custom validation message'; | |
| test.setCustomValidity(message); | |
| shouldBeTrue('test.validity.customError'); | |
| shouldBeEqualToString('test.validationMessage', message); | |
| shouldBeEqualToString('getComputedStyle(test).backgroundColor', 'rgb(255, 0, 0)'); | |
| test.setCustomValidity(''); | |
| shouldBeFalse('test.validity.customError'); | |
| shouldBeEqualToString('test.validationMessage', ''); | |
| shouldBeEqualToString('getComputedStyle(test).backgroundColor', 'rgb(0, 255, 0)'); | |
| } | |
| </script> | |
| <script src="../../resources/js-test-post.js"></script> | |
| </body> | |
| </html> |