<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.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 = String.fromCharCode(0xD800);
shouldBe('input.value', 'String.fromCharCode(0xD800)');

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>
</body>
</html>
