blob: e2077202ddf6e5839cf4aba8a87ce7698b41ba45 [file] [log] [blame]
<div id="container">
<textarea id="sample"></textarea>
</div>
<script src="../../resources/js-test.js"></script>
<script>
function $(id) { return document.getElementById(id); }
var sample = $('sample');
function testIt(source, expectedText, expectedOffset)
{
var caretPos = source.indexOf('|');
sample.value = source.substring(0, caretPos) + source.substring(caretPos + 1);
sample.setSelectionRange(caretPos, caretPos);
sample.focus();
document.execCommand('Delete', false);
debug(source.replace(/\n/g, '\\n'));
shouldBeEqualToString('sample.value', expectedText);
shouldBe('sample.selectionStart', expectedOffset.toString());
shouldBe('sample.selectionEnd', expectedOffset.toString());
debug('');
}
testIt('a\n|', 'a', 1);
testIt('a\n\n|', 'a\n', 2);
testIt('a\n\n\n|', 'a\n\n', 3);
testIt('a|\n', '\n', 0);
testIt('a\n|\n', 'a\n', 1);
testIt('a\n\n|\n', 'a\n\n', 2);
testIt('a\n|\n\n', 'a\n\n', 1);
testIt('a\n\n|\n\n', 'a\n\n\n', 2);
testIt('a\n|b', 'ab', 1);
testIt('a\n\n|b', 'a\nb', 2);
testIt('a\n\n\n|b', 'a\n\nb', 3);
testIt('a\nb|', 'a\n', 2);
testIt('a\n\nb|', 'a\n\n', 3);
testIt('a\n\n\nb|', 'a\n\n\n', 4);
if (window.testRunner)
$('container').outerHTML = '';
</script>