<html>
<body contenteditable="true">
<br>
<blockquote id="test" style="display: inline">Executing Outdent on an inline blockquote that is not the first element in the document should not crash.</blockquote>
<p id="console"></p>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

function log(message) {
    var console = document.getElementById("console");
    var text = document.createTextNode(message);
    console.appendChild(text);
}

var s = window.getSelection();
var p1 = document.getElementById("test");
s.setPosition(p1, 0);
document.execCommand("Outdent", false, 0);
log("Test passed: no crash");

</script>
</body>
</html>
