diff options
Diffstat (limited to 'dom/html/test/test_bug561640.html')
-rw-r--r-- | dom/html/test/test_bug561640.html | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/dom/html/test/test_bug561640.html b/dom/html/test/test_bug561640.html new file mode 100644 index 000000000..670d1b3a1 --- /dev/null +++ b/dom/html/test/test_bug561640.html @@ -0,0 +1,72 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=561640 +--> +<head> + <title>Test for Bug 561640</title> + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + <style> + input, textarea { background-color: rgb(0,0,0) !important; } + :-moz-any(input,textarea):valid { background-color: rgb(0,255,0) !important; } + :-moz-any(input,textarea):invalid { background-color: rgb(255,0,0) !important; } + </style> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=561640">Mozilla Bug 561640</a> +<p id="display"></p> +<div id="content" style="display: none"> +</div> +<pre id="test"> +<script type="application/javascript"> + +/** Test for Bug 561640 **/ + +var elements = [ 'input', 'textarea' ]; +var content = document.getElementById('content'); + +function checkValid(elmt) +{ + ok(!elmt.validity.tooLong, "element should not be too long"); + is(window.getComputedStyle(elmt, null).getPropertyValue('background-color'), + "rgb(0, 255, 0)", ":valid pseudo-class should apply"); +} + +function checkInvalid(elmt) +{ + todo(elmt.validity.tooLong, "element should be too long"); + todo_is(window.getComputedStyle(elmt, null).getPropertyValue('background-color'), + "rgb(255, 0, 0)", ":invalid pseudo-class should apply"); +} + +for (var elmtName of elements) { + var elmt = document.createElement(elmtName); + content.appendChild(elmt); + + if (elmtName == 'textarea') { + elmt.textContent = 'foo'; + } else { + elmt.setAttribute('value', 'foo'); + } + elmt.maxLength = 2; + checkValid(elmt); + + elmt.value = 'a'; + checkValid(elmt); + + if (elmtName == 'textarea') { + elmt.textContent = 'f'; + } else { + elmt.setAttribute('value', 'f'); + } + elmt.value = 'bar'; + checkInvalid(elmt); + + content.removeChild(elmt); +} + +</script> +</pre> +</body> +</html> |