chromium/third_party/blink/web_tests/editing/execCommand/insert-text-not-inheriting-block-properties.html

<!DOCTYPE html>
<html>
<head>
<title>InsertText behavior after paragraph selection</title>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>
description('If you select a paragraph and type a character, block style properties should not be inherited to the next paragraph.');

var container = document.createElement('div');
container.contentEditable = true;
container.style.margin = '1em';
container.style.padding = '1em';
container.style.border = '4px gray solid';
container.innerHTML = '<p><span>Foo</span></p><p style="text-indent: 3em;"><span>Bar</span></p>';
// This block must be placed at the beginning of the document, otherwise the bug does not reproduce.
document.body.insertBefore(container, document.body.firstChild);

function check()
{
    shouldBeEqualToString('container.innerHTML', '<p style="text-indent: 3em;"><span>aBar</span></p>');
}

if (!window.testRunner) {
    window.jsTestIsAsync = true;
    var manualInstruction = document.createElement('p');
    manualInstruction.innerHTML = '<strong>This test can\'t be run automatically without testRunner. To run this test manually, triple-click the paragraph containing "Foo", type "a", then press the "Finish" button: </strong>';
    var finishButton = document.createElement('input');
    finishButton.type = 'button';
    finishButton.value = 'Finish';
    finishButton.addEventListener('click', function () {
        check();
        window.finishJSTest();
    });
    manualInstruction.appendChild(finishButton);
    document.body.appendChild(manualInstruction);
} else {
    container.focus();
    window.getSelection().collapse(container.firstChild.firstChild, 0); // First <span>.

    testRunner.execCommand('SelectParagraph');
    document.execCommand('InsertText', false, 'a');

    check();

    document.body.removeChild(container);
}
</script>
</body>
</html>