-
Notifications
You must be signed in to change notification settings - Fork 2.5k
/
domfixnestededitable.js
50 lines (43 loc) · 1.22 KB
/
domfixnestededitable.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* bender-tags: editor,autoparagraphing */
( function() {
'use strict';
bender.editors = {
editor1: {
name: 'editor1'
}
};
bender.test( {
// (https://dev.ckeditor.com/ticket/12162)
'test autoparagraphing in nested editable': function() {
var editor = this.editors.editor1,
editable = editor.editable(),
expected =
'<p>foo@</p>' +
'<div contenteditable="false">' +
'<div contenteditable="true">' +
'<p>^hello@</p>' +
'</div>' +
'</div>',
htmlMatchingOpts = {
compareSelection: true,
normalizeSelection: true
};
bender.tools.selection.setWithHtml( editor,
'<p>f[o]o</p>' +
'<div contenteditable="false">' +
'<div contenteditable="true">' +
'hello' +
'</div>' +
'</div>' );
var nestedEditable = editable.findOne( 'div[contenteditable="true"]' ),
sel = editor.getSelection(),
range = editor.createRange();
nestedEditable.focus();
range.setStart( nestedEditable.getFirst(), 0 );
range.setEnd( nestedEditable.getFirst(), 0 );
sel.selectRanges( [ range ] );
assert.isInnerHtmlMatching( expected, bender.tools.selection.getWithHtml( editor ),
htmlMatchingOpts, 'Paragraph should be added.' );
}
} );
} )();