<p>This tests indenting nested blockquotes.  By indenting "webkit"""", we should be inserting a blockquote between br tag and the end of the inner blockquote.</p>
<div id="div" contenteditable="true">
<blockquote id="outer">
hello
<blockquote id="inner">
world<br>
webkit
</blockquote>
is great
</blockquote>
</div>
<div id="c"></div>
<script>

if (window.testRunner)
    testRunner.dumpAsText();

var e = document.getElementById("inner");
var s = window.getSelection();
var r = document.createRange();
r.setStart(e,2);
r.setEnd(e,3);
s.addRange(r);
document.execCommand("Indent", false, null);
text = document.createTextNode(document.getElementById('div').innerHTML);
document.getElementById('c').appendChild( text );
</script>
