IE Range bug
IE11 implements Ranges, but they cannot end with a newline
HTML
<div>x</div>
<pre id=result></pre>
JavaScript
var div = document.querySelector('div');
var pre = document.querySelector('#result');
var rng = document.createRange();
rng.selectNodeContents(div);
var text = '12\n34\n';
rng.deleteContents();
rng.insertNode (document.createTextNode(text));
pre.innerHTML += JSON.stringify(rng.toString())+'<br>';
rng.setEnd(div.firstChild, 3);
pre.innerHTML += JSON.stringify(rng.toString())+'<br>';
rng.setEnd(div.firstChild, 4);
pre.innerHTML += JSON.stringify(rng.toString())+'<br>';
var text = '12\r\n34\r\n';
rng.deleteContents();
rng.insertNode (document.createTextNode(text));
pre.innerHTML += JSON.stringify(rng.toString())+'<br>';
rng.setEnd(div.firstChild, 4);
pre.innerHTML += JSON.stringify(rng.toString())+'<br>';
rng.deleteContents();
rng.insertNode (document.createTextNode('56'));
rng.selectNodeContents(div);
pre.innerHTML += JSON.stringify(rng.toString())+'<br>'; // the \r\n were deleted correctly (they were part of the range); it's just toString() that is buggy.