79 lines
2.1 KiB
HTML
79 lines
2.1 KiB
HTML
<!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 "');
|
|
|
|
input.value = 'foo\0bar';
|
|
shouldBeEqualToString('input.value', 'foo\0bar');
|
|
|
|
input.value = 'foo\bbar';
|
|
shouldBeEqualToString('input.value', "foo\bbar");
|
|
|
|
input.value = 'foo\tbar';
|
|
shouldBeEqualToString('input.value', "foo\tbar");
|
|
|
|
input.value = "foo\vbar";
|
|
shouldBeEqualToString('input.value', "foo\vbar");
|
|
|
|
input.value = "foo\fbar";
|
|
shouldBeEqualToString('input.value', "foo\fbar");
|
|
|
|
// 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>
|