2014-03-24 06:59:45 +01:00
|
|
|
module("tinymce.utils.Quirks_WebKit", {
|
|
|
|
setupModule: function() {
|
|
|
|
QUnit.stop();
|
|
|
|
|
|
|
|
tinymce.init({
|
|
|
|
selector: "textarea",
|
|
|
|
elements: "elm1",
|
2014-10-23 04:07:15 +02:00
|
|
|
plugins: wpPlugins,
|
2014-03-24 06:59:45 +01:00
|
|
|
add_unload_trigger: false,
|
|
|
|
skin: false,
|
|
|
|
indent: false,
|
|
|
|
disable_nodechange: true,
|
|
|
|
init_instance_callback : function(ed) {
|
|
|
|
window.editor = ed;
|
|
|
|
QUnit.start();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
if (tinymce.isWebKit) {
|
|
|
|
test('Delete from beginning of P into H1', function() {
|
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b</p>';
|
|
|
|
Utils.setSelection('p', 0);
|
|
|
|
editor.execCommand('Delete');
|
|
|
|
equal(Utils.cleanHtml(editor.getBody().innerHTML), '<h1>ab</h1>');
|
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Delete whole H1 before P', function() {
|
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b</p>';
|
|
|
|
|
|
|
|
var rng = editor.selection.getRng();
|
|
|
|
rng.setStartBefore(editor.getBody().firstChild);
|
|
|
|
rng.setEndAfter(editor.getBody().firstChild);
|
|
|
|
editor.selection.setRng(rng);
|
|
|
|
|
|
|
|
editor.execCommand('Delete');
|
|
|
|
equal(Utils.cleanHtml(editor.getBody().innerHTML), '<h1>b<br></h1>');
|
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Delete from beginning of P with style span inside into H1', function() {
|
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b<span style="color:red">c</span></p>';
|
|
|
|
Utils.setSelection('p', 0);
|
|
|
|
editor.execCommand('Delete');
|
2014-08-09 22:55:34 +02:00
|
|
|
equal(Utils.normalizeHtml(Utils.cleanHtml(editor.getBody().innerHTML)), '<h1>ab<span data-mce-style="color: red;" style="color: red;">c</span></h1>');
|
2014-03-24 06:59:45 +01:00
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('ForwardDelete from end of H1 into P', function() {
|
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b</p>';
|
|
|
|
Utils.setSelection('h1', 1);
|
|
|
|
editor.execCommand('ForwardDelete');
|
|
|
|
equal(Utils.cleanHtml(editor.getBody().innerHTML), '<h1>ab</h1>');
|
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('ForwardDelete whole H1 before P', function() {
|
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b</p>';
|
|
|
|
|
|
|
|
var rng = editor.selection.getRng();
|
|
|
|
rng.setStartBefore(editor.getBody().firstChild);
|
|
|
|
rng.setEndAfter(editor.getBody().firstChild);
|
|
|
|
editor.selection.setRng(rng);
|
|
|
|
|
|
|
|
editor.execCommand('ForwardDelete');
|
|
|
|
equal(Utils.cleanHtml(editor.getBody().innerHTML), '<h1>b<br></h1>');
|
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('ForwardDelete from end of H1 into P with style span inside', function() {
|
2014-08-09 22:55:34 +02:00
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b<span style="color: #010203">c</span></p>';
|
2014-03-24 06:59:45 +01:00
|
|
|
Utils.setSelection('h1', 1);
|
|
|
|
editor.execCommand('ForwardDelete');
|
2014-08-09 22:55:34 +02:00
|
|
|
equal(editor.getContent(), '<h1>ab<span style="color: #010203;">c</span></h1>');
|
2014-03-24 06:59:45 +01:00
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Backspace key from beginning of P into H1', function() {
|
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b</p>';
|
|
|
|
Utils.setSelection('p', 0);
|
|
|
|
editor.fire("keydown", {keyCode: 8});
|
|
|
|
equal(Utils.cleanHtml(editor.getBody().innerHTML), '<h1>ab</h1>');
|
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
|
|
|
|
test('Delete key from end of H1 into P', function() {
|
|
|
|
editor.getBody().innerHTML ='<h1>a</h1><p>b</p>';
|
|
|
|
Utils.setSelection('h1', 1);
|
|
|
|
editor.fire("keydown", {keyCode: 46});
|
|
|
|
equal(Utils.cleanHtml(editor.getBody().innerHTML), '<h1>ab</h1>');
|
|
|
|
equal(editor.selection.getStart().nodeName, 'H1');
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
test("Skipped since the browser isn't WebKit", function() {
|
|
|
|
ok(true, "Skipped");
|
|
|
|
});
|
|
|
|
}
|