| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | |
| <html> | |
| <head> | |
| <script src="../../resources/js-test-pre.js"></script> | |
| </head> | |
| <body> | |
| <p>Tests for value sanitization algorithm.</p> | |
| <div id="console"></div> | |
| <script> | |
| var input; | |
| debug(''); | |
| debug('Email with multiple:'); | |
| input = document.createElement('input'); | |
| input.multiple = true; | |
| input.type = 'email'; | |
| input.setAttribute('value', ' tkent@chromium.org, tkent@example.!!! '); | |
| shouldBe('input.value', '"tkent@chromium.org,tkent@example.!!!"'); | |
| debug('Email without multiple:'); | |
| input = document.createElement('input'); | |
| input.multiple = false; | |
| input.type = 'email'; | |
| input.setAttribute('value', ' tkent@chromium.org, tkent@example.*** \r\n'); | |
| shouldBe('input.value', '"tkent@chromium.org, tkent@example.***"'); | |
| debug(''); | |
| debug('Number:'); | |
| input = document.createElement('input'); | |
| input.setAttribute('value', '65536'); | |
| input.type = 'number'; | |
| shouldBe('input.value', '"65536"'); | |
| shouldBe('input.value = "256"; input.value', '"256"'); | |
| shouldBe('input.value = ""; input.value', '""'); | |
| debug(''); | |
| debug('Range:'); | |
| input = document.createElement('input'); | |
| input.type = 'text'; | |
| input.value = ':)'; | |
| input.type = 'range'; | |
| shouldBe('input.value', '"50"'); | |
| debug(''); | |
| debug('Text:'); | |
| var container = document.createElement('div'); | |
| document.body.appendChild(container); | |
| container.innerHTML = '<input type="text" id="text" value="\n\r foo bar \n\r\n">'; | |
| input = document.getElementById('text'); | |
| shouldBe('input.value', '" foo bar "'); | |
| input.focus(); | |
| document.execCommand('SelectAll'); | |
| shouldBe('document.getSelection().toString()', '" foo bar "'); | |
| // FIXME: Add more sanitization tests. | |
| // https://bugs.webkit.org/show_bug.cgi?id=37024 | |
| container.innerHTML = ''; | |
| </script> | |
| <script src="../../resources/js-test-post.js"></script> | |
| </body> | |
| </html> |