blob: ee68821ba21867b28ce705e1a313f795ad4b9f00 [file] [log] [blame]
<script src="../../resources/dump-as-markup.js"></script>
<p>This tests removing style attribute after removing CSS property. Undo should bring back the CSS property we removed.</p>
<div id="test" contenteditable><span style="font-weight: 900;">test</span></div>
<script>
Markup.description('This tests removing style attribute after removing CSS property. Undo should bring back the CSS property we removed.');
Markup.dump('test', 'Initially "test" should be bold wrapped with a span');
window.getSelection().selectAllChildren(test);
document.execCommand('bold', false, null);
Markup.dump('test', 'Unbolding should remove the CSS style and also remove the span');
document.execCommand('undo', false, null);
Markup.dump('test', 'Undo should bring back both the span and style attribute so that "test" is once again bold');
document.execCommand('redo', false, null);
Markup.dump('test', 'Redo should unbold "test" and there should be no span');
document.execCommand('undo', false, null);
Markup.dump('test', 'Undo once more');
document.getElementById('test').innerHTML = '<span style="font-weight: 900;">test</span>';
var span = document.getElementById('test').firstChild;
span.id = 'test_span';
span.title = 'hello, world';
window.getSelection().selectAllChildren(test);
Markup.dump('test', 'Reset, and added id and title');
document.execCommand('bold', false, null);
Markup.dump('test', 'Unbolding should remove the CSS style but shouldn\'t remove the span');
document.execCommand('undo', false, null);
Markup.dump('test', 'Undo should restore the style attribute and "test" should be bold');
document.execCommand('redo', false, null);
Markup.dump('test', 'Redo should remove the style attribute again');
document.getElementById('test').innerHTML = '<span style="font-weight: 900;">test</span>';
var span = document.getElementById('test').firstChild;
span.style.color = 'blue';
window.getSelection().selectAllChildren(test);
Markup.dump('test', 'Reset, and added color:blue');
document.execCommand('bold', false, null);
Markup.dump('test', 'Unbolding should remove the font-weight but shouldn\'t remove the style attribute');
document.execCommand('undo', false, null);
Markup.dump('test', 'Undo should reset the style attribute so that "test" is both bold and blue');
document.execCommand('redo', false, null);
Markup.dump('test', 'Redo should only remove font-weight and leave "test" blue');
document.execCommand('foreColor', false, "#000000");
Markup.dump('test', 'Setting the forecolor to black should remove both the style attribute and the span');
document.execCommand('undo', false, null);
Markup.dump('test', 'Undo should make "test" blue again');
</script>