<!DOCTYPE html>
<html>
<body>
<style>

div[contenteditable=false] {
    background: red;
}

</style>
<div id="test" contenteditable=true>
Line 1 editable<div contenteditable=false>Uneditable div 1</div>
Line 2 editable<div contenteditable=false>Uneditable div 2</div>
Line 3 editable</div>
<script src="../editing.js"></script>
<script src="../../resources/dump-as-markup.js"></script>
<script>

Markup.description('This test moves caret between lines of different editabilities.')

document.getElementById('test').focus();

for (var i = 0; i < 6; i++)
    execMoveSelectionForwardByCharacterCommand();

if (window.testRunner)
    testRunner.dumpEditingCallbacks();

Markup.dump('test', 'Initial condition');
for (var i = 0; i < 3; i++) {
    execMoveSelectionForwardByLineCommand();
    Markup.dump('test', 'After moving forward by line');
}

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