<p>This tests indenting the second paragraph in a blockquote.  By indenting "world", we should be inserting a blockquote around world inside the "test" blockquote.</p>
<div id="div" contenteditable="true">
<blockquote id="test">
hello<br>
world
</blockquote>
</div>
<div id="c"></div>
<script>

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

var e = document.getElementById("test");
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>
