OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
core
/
test
/
ts
/
browser
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:15:06 AM
rwxr-xr-x
📄
AddOnManagerTest.ts
2.71 KB
02/20/2020 05:44:53 AM
rw-r--r--
📄
ClickContentEditableFalseTest.ts
3.13 KB
02/20/2020 05:44:53 AM
rw-r--r--
📄
DragDropOverridesTest.ts
1.55 KB
02/20/2020 05:44:54 AM
rw-r--r--
📄
EditorForcedSettingsTest.ts
904 bytes
02/20/2020 05:44:54 AM
rw-r--r--
📄
EditorManagerTest.ts
7.41 KB
02/20/2020 05:44:55 AM
rw-r--r--
📄
EditorRemoveTest.ts
2.58 KB
02/20/2020 05:44:56 AM
rw-r--r--
📄
EditorRemovedApiTest.ts
2.98 KB
02/20/2020 05:44:55 AM
rw-r--r--
📄
EditorRtlTest.ts
1.39 KB
02/20/2020 05:44:56 AM
rw-r--r--
📄
EditorSettingsTest.ts
14.57 KB
02/20/2020 05:44:57 AM
rw-r--r--
📄
EditorTest.ts
15.89 KB
02/20/2020 05:44:57 AM
rw-r--r--
📄
EditorUploadTest.ts
11.16 KB
02/20/2020 05:44:58 AM
rw-r--r--
📄
EditorViewIframeTest.ts
3.35 KB
02/20/2020 05:44:58 AM
rw-r--r--
📄
EditorViewInlineTest.ts
3.25 KB
02/20/2020 05:44:59 AM
rw-r--r--
📄
FontSelectTest.ts
4.79 KB
02/20/2020 05:44:59 AM
rw-r--r--
📄
ForceBlocksTest.ts
4.89 KB
02/20/2020 05:45:00 AM
rw-r--r--
📄
FormatterApplyTest.ts
83.91 KB
02/20/2020 05:45:00 AM
rw-r--r--
📄
FormatterCheckTest.ts
10.05 KB
02/20/2020 05:45:01 AM
rw-r--r--
📄
FormatterRemoveTest.ts
24.06 KB
02/20/2020 05:45:01 AM
rw-r--r--
📄
FormattingCommandsTest.ts
19.5 KB
02/20/2020 05:45:02 AM
rw-r--r--
📄
InlineEditorRemoveTest.ts
1.17 KB
02/20/2020 05:45:03 AM
rw-r--r--
📄
InlineEditorSaveTest.ts
1.19 KB
02/20/2020 05:45:03 AM
rw-r--r--
📄
JqueryIntegrationTest.disabled
4.5 KB
02/20/2020 05:45:04 AM
rw-r--r--
📄
MiscCommandsTest.ts
3.61 KB
02/20/2020 05:45:05 AM
rw-r--r--
📄
ModeTest.ts
4.18 KB
02/20/2020 05:45:05 AM
rw-r--r--
📄
NotificationManagerTest.ts
4.01 KB
02/20/2020 05:45:06 AM
rw-r--r--
📄
SelectionOverridesTest.ts
10.48 KB
02/20/2020 05:45:06 AM
rw-r--r--
📄
ShortcutsTest.ts
3.67 KB
02/20/2020 05:45:07 AM
rw-r--r--
📄
UndoManagerTest.ts
14.65 KB
02/20/2020 05:45:07 AM
rw-r--r--
📄
WindowManagerTest.ts
1.29 KB
02/20/2020 05:45:08 AM
rw-r--r--
📁
annotate
-
02/20/2020 06:12:41 AM
rwxr-xr-x
📁
api
-
02/20/2020 06:34:15 AM
rwxr-xr-x
📁
bookmark
-
02/20/2020 06:12:48 AM
rwxr-xr-x
📁
caret
-
02/20/2020 06:12:58 AM
rwxr-xr-x
📁
commands
-
02/20/2020 06:13:03 AM
rwxr-xr-x
📁
content
-
02/20/2020 06:13:08 AM
rwxr-xr-x
📁
delete
-
02/20/2020 06:13:20 AM
rwxr-xr-x
📁
dom
-
02/20/2020 06:13:35 AM
rwxr-xr-x
📁
file
-
02/20/2020 06:13:40 AM
rwxr-xr-x
📁
fmt
-
02/20/2020 06:13:49 AM
rwxr-xr-x
📁
focus
-
02/20/2020 06:13:55 AM
rwxr-xr-x
📁
geom
-
02/20/2020 06:13:59 AM
rwxr-xr-x
📁
html
-
02/20/2020 06:14:06 AM
rwxr-xr-x
📁
init
-
02/20/2020 06:14:16 AM
rwxr-xr-x
📁
keyboard
-
02/20/2020 06:14:32 AM
rwxr-xr-x
📁
newline
-
02/20/2020 06:14:36 AM
rwxr-xr-x
📁
selection
-
02/20/2020 06:14:47 AM
rwxr-xr-x
📁
undo
-
02/20/2020 06:14:53 AM
rwxr-xr-x
📁
util
-
02/20/2020 06:15:03 AM
rwxr-xr-x
Editing: ForceBlocksTest.ts
Close
import { Pipeline } from '@ephox/agar'; import { LegacyUnit, TinyLoader } from '@ephox/mcagar'; import HtmlUtils from '../module/test/HtmlUtils'; import Theme from 'tinymce/themes/silver/Theme'; import { UnitTest } from '@ephox/bedrock'; UnitTest.asynctest('browser.tinymce.core.ForceBlocksTest', function () { const success = arguments[arguments.length - 2]; const failure = arguments[arguments.length - 1]; const suite = LegacyUnit.createSuite(); Theme(); const pressArrowKey = function (editor) { const dom = editor.dom, target = editor.selection.getNode(); const evt = { keyCode: 37 }; dom.fire(target, 'keydown', evt); dom.fire(target, 'keypress', evt); dom.fire(target, 'keyup', evt); }; suite.test('Wrap single root text node in P', function (editor) { editor.focus(); editor.getBody().innerHTML = 'abcd'; LegacyUnit.setSelection(editor, 'body', 2); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(editor.getBody().innerHTML), '<p>abcd</p>'); LegacyUnit.equal(editor.selection.getNode().nodeName, 'P'); }); suite.test('Wrap single root text node in P with attrs', function (editor) { editor.settings.forced_root_block_attrs = { class: 'class1' }; editor.getBody().innerHTML = 'abcd'; LegacyUnit.setSelection(editor, 'body', 2); pressArrowKey(editor); LegacyUnit.equal(editor.getContent(), '<p class="class1">abcd</p>'); LegacyUnit.equal(editor.selection.getNode().nodeName, 'P'); delete editor.settings.forced_root_block_attrs; }); suite.test('Wrap single root text node in P but not table sibling', function (editor) { editor.getBody().innerHTML = 'abcd<table><tr><td>x</td></tr></table>'; LegacyUnit.setSelection(editor, 'body', 2); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(editor.getBody().innerHTML), '<p>abcd</p><table><tbody><tr><td>x</td></tr></tbody></table>'); LegacyUnit.equal(editor.selection.getNode().nodeName, 'P'); }); suite.test('Textnodes with only whitespace should not be wrapped new paragraph', (editor) => { editor.getBody().innerHTML = '<p>a</p> <p>b</p>\n<p>c</p> <p>d</p> x<p>e</p>'; LegacyUnit.setSelection(editor, 'p', 0); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(editor.getContent()), '<p>a</p><p>b</p><p>c</p><p>d</p><p>x</p><p>e</p>'); }); suite.test('Do not wrap whitespace textnodes between inline elements', (editor) => { editor.getBody().innerHTML = 'a <strong>b</strong> <strong>c</strong>'; LegacyUnit.setSelection(editor, 'strong', 0); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(editor.getContent()), '<p>a <strong>b</strong> <strong>c</strong></p>'); }); suite.test('Wrap root em in P but not table sibling', function (editor) { editor.getBody().innerHTML = '<em>abcd</em><table><tr><td>x</td></tr></table>'; LegacyUnit.setSelection(editor, 'em', 2); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(editor.getBody().innerHTML), '<p><em>abcd</em></p><table><tbody><tr><td>x</td></tr></tbody></table>'); LegacyUnit.equal(editor.selection.getNode().nodeName, 'EM'); }); suite.test('Wrap single root text node in DIV', function (editor) { editor.settings.forced_root_block = 'div'; editor.getBody().innerHTML = 'abcd'; LegacyUnit.setSelection(editor, 'body', 2); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(editor.getBody().innerHTML), '<div>abcd</div>'); LegacyUnit.equal(editor.selection.getNode().nodeName, 'DIV'); delete editor.settings.forced_root_block; }); suite.test('Remove empty root text nodes', function (editor) { const body = editor.getBody(); editor.settings.forced_root_block = 'div'; editor.getBody().innerHTML = 'abcd<div>abcd</div>'; body.insertBefore(editor.getDoc().createTextNode(''), body.firstChild); body.appendChild(editor.getDoc().createTextNode('')); const rng = editor.dom.createRng(); rng.setStart(editor.getBody().childNodes[1], 1); rng.setEnd(editor.getBody().childNodes[1], 1); editor.selection.setRng(rng); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(body.innerHTML), '<div>abcd</div><div>abcd</div>'); LegacyUnit.equal(editor.selection.getNode().nodeName, 'DIV'); LegacyUnit.equal(body.childNodes.length, 2); }); suite.test('Wrap single root text node in P but not table sibling', function (editor) { editor.getBody().innerHTML = '<span data-mce-type="bookmark">a</span>'; LegacyUnit.setSelection(editor, 'body', 0); pressArrowKey(editor); LegacyUnit.equal(HtmlUtils.cleanHtml(editor.getBody().innerHTML), '<span data-mce-type="bookmark">a</span>'); }); TinyLoader.setup(function (editor, onSuccess, onFailure) { Pipeline.async({}, suite.toSteps(editor), onSuccess, onFailure); }, { entities: 'raw', indent: false, base_url: '/project/tinymce/js/tinymce' }, success, failure); });