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: EditorManagerTest.ts
Close
import { Pipeline } from '@ephox/agar'; import { LegacyUnit } from '@ephox/mcagar'; import DOMUtils from 'tinymce/core/api/dom/DOMUtils'; import Editor from 'tinymce/core/api/Editor'; import EditorManager from 'tinymce/core/api/EditorManager'; import PluginManager from 'tinymce/core/api/PluginManager'; import ViewBlock from '../module/test/ViewBlock'; import Delay from 'tinymce/core/api/util/Delay'; import Tools from 'tinymce/core/api/util/Tools'; import Theme from 'tinymce/themes/silver/Theme'; import { UnitTest } from '@ephox/bedrock'; import { document } from '@ephox/dom-globals'; UnitTest.asynctest('browser.tinymce.core.EditorManagerTest', function () { const success = arguments[arguments.length - 2]; const failure = arguments[arguments.length - 1]; const suite = LegacyUnit.createSuite(); const viewBlock = ViewBlock(); Theme(); const teardown = function (done) { Delay.setTimeout(function () { EditorManager.remove(); done(); }, 0); }; suite.asyncTest('get', function (_, done) { viewBlock.update('<textarea class="tinymce"></textarea>'); EditorManager.init({ selector: 'textarea.tinymce', skin_url: '/project/tinymce/js/tinymce/skins/ui/oxide', content_css: '/project/tinymce/js/tinymce/skins/content/default', init_instance_callback (editor1) { LegacyUnit.equal(EditorManager.get().length, 1); LegacyUnit.equal(EditorManager.get(0) === EditorManager.activeEditor, true); LegacyUnit.equal(EditorManager.get(1), null); LegacyUnit.equal(EditorManager.get('noid'), null); LegacyUnit.equal(EditorManager.get(undefined), null); LegacyUnit.equal(EditorManager.get()[0] === EditorManager.activeEditor, true); LegacyUnit.equal(EditorManager.get(EditorManager.activeEditor.id) === EditorManager.activeEditor, true); LegacyUnit.equal(EditorManager.get() !== EditorManager.get(), true); // Trigger save let saveCount = 0; editor1.on('SaveContent', function () { saveCount++; }); EditorManager.triggerSave(); LegacyUnit.equal(saveCount, 1); // Re-init on same id EditorManager.init({ selector: '#' + EditorManager.activeEditor.id, skin_url: '/project/tinymce/js/tinymce/skins/ui/oxide', content_css: '/project/tinymce/js/tinymce/skins/content/default', }); LegacyUnit.equal(EditorManager.get().length, 1); teardown(done); } }); }); suite.test('addI18n/translate', function () { EditorManager.addI18n('en', { from: 'to' }); LegacyUnit.equal(EditorManager.translate('from'), 'to'); }); suite.asyncTest('Do not reload language pack if it was already loaded or registered manually.', function (_, done) { const langCode = 'mce_lang'; const langUrl = 'http://example.com/language/' + langCode + '.js'; EditorManager.addI18n(langCode, { from: 'to' }); viewBlock.update('<textarea></textarea>'); EditorManager.init({ selector: 'textarea', skin_url: '/project/tinymce/js/tinymce/skins/ui/oxide', content_css: '/project/tinymce/js/tinymce/skins/content/default', language: langCode, language_url: langUrl, init_instance_callback (ed) { const scripts = Tools.grep(document.getElementsByTagName('script'), function (script) { return script.src === langUrl; }); LegacyUnit.equal(scripts.length, 0); teardown(done); } }); }); suite.asyncTest('Externally destroyed editor', function (_, done) { EditorManager.remove(); EditorManager.init({ selector: 'textarea', skin_url: '/project/tinymce/js/tinymce/skins/ui/oxide', content_css: '/project/tinymce/js/tinymce/skins/content/default', init_instance_callback (editor1) { Delay.setTimeout(function () { // Destroy the editor by setting innerHTML common ajax pattern viewBlock.update('<textarea id="' + editor1.id + '"></textarea>'); // Re-init the editor will have the same id EditorManager.init({ selector: 'textarea', skin_url: '/project/tinymce/js/tinymce/skins/ui/oxide', content_css: '/project/tinymce/js/tinymce/skins/content/default', init_instance_callback (editor2) { LegacyUnit.equal(EditorManager.get().length, 1); LegacyUnit.equal(editor1.id, editor2.id); LegacyUnit.equal(editor1.destroyed, true, 'First editor instance should be destroyed'); teardown(done); } }); }, 0); } }); }); suite.test('overrideDefaults', function () { let oldBaseURI, oldBaseUrl, oldSuffix; oldBaseURI = EditorManager.baseURI; oldBaseUrl = EditorManager.baseURL; oldSuffix = EditorManager.suffix; EditorManager.overrideDefaults({ test: 42, base_url: 'http://www.EditorManager.com/base/', suffix: 'x', external_plugins: { plugina: '//domain/plugina.js', pluginb: '//domain/pluginb.js' }, plugin_base_urls: { testplugin: 'http://custom.ephox.com/dir/testplugin' } }); LegacyUnit.strictEqual(EditorManager.baseURI.path, '/base'); LegacyUnit.strictEqual(EditorManager.baseURL, 'http://www.EditorManager.com/base'); LegacyUnit.strictEqual(EditorManager.suffix, 'x'); LegacyUnit.strictEqual(new Editor('ed1', {}, EditorManager).settings.test, 42); LegacyUnit.strictEqual(PluginManager.urls.testplugin, 'http://custom.ephox.com/dir/testplugin'); LegacyUnit.equal(new Editor('ed2', { base_url: '/project/tinymce/js/tinymce', external_plugins: { plugina: '//domain/plugina2.js', pluginc: '//domain/pluginc.js' }, plugin_base_urls: { testplugin: 'http://custom.ephox.com/dir/testplugin' } }, EditorManager).settings.external_plugins, { plugina: '//domain/plugina2.js', pluginb: '//domain/pluginb.js', pluginc: '//domain/pluginc.js' }); LegacyUnit.equal(new Editor('ed3', { base_url: '/project/tinymce/js/tinymce' }, EditorManager).settings.external_plugins, { plugina: '//domain/plugina.js', pluginb: '//domain/pluginb.js' }); EditorManager.baseURI = oldBaseURI; EditorManager.baseURL = oldBaseUrl; EditorManager.suffix = oldSuffix; EditorManager.overrideDefaults({}); }); suite.test('Init inline editor on invalid targets', function () { let invalidNames; invalidNames = ( 'area base basefont br col frame hr img input isindex link meta param embed source wbr track ' + 'colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu' ); EditorManager.remove(); Tools.each(invalidNames.split(' '), function (invalidName) { const elm = DOMUtils.DOM.add(document.body, invalidName, { class: 'targetEditor' }, null); EditorManager.init({ selector: invalidName + '.targetEditor', skin_url: '/project/tinymce/js/tinymce/skins/ui/oxide', content_css: '/project/tinymce/js/tinymce/skins/content/default', inline: true }); LegacyUnit.strictEqual(EditorManager.get().length, 0, 'Should not have created an editor'); DOMUtils.DOM.remove(elm); }); }); viewBlock.attach(); Pipeline.async({}, suite.toSteps({}), function () { EditorManager.remove(); viewBlock.detach(); success(); }, failure); });