| Server IP : 27.254.152.13 / Your IP : 216.73.217.38 Web Server : Apache/2 System : Linux ns1-252017.dragonhispeed.com 5.2.0 #1 SMP Fri Mar 29 22:50:14 MSK 2024 x86_64 User : coloflew ( 1072) PHP Version : 5.6.40 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/coloflew/public_html/cdn/tinymce/themes/inlite/src/test/js/browser/core/ |
Upload File : |
asynctest('browser/core/ElementMatcherTest', [
'ephox.mcagar.api.TinyLoader',
'ephox.mcagar.api.TinyApis',
'ephox.agar.api.Step',
'ephox.agar.api.Assertions',
'tinymce/inlite/core/ElementMatcher',
'tinymce/inlite/core/PredicateId',
'ephox.agar.api.Pipeline'
], function (TinyLoader, TinyApis, Step, Assertions, ElementMatcher, PredicateId, Pipeline) {
var success = arguments[arguments.length - 2];
var failure = arguments[arguments.length - 1];
var eq = function (target) {
return function (elm) {
return elm === target;
};
};
var constantFalse = function (/*elm*/) {
return false;
};
var sElementTest = function (tinyApis, editor, inputHtml, selector) {
return Step.sync(function () {
var target, result;
editor.setContent(inputHtml);
target = editor.dom.select(selector)[0];
result = ElementMatcher.element(target, [
PredicateId.create('a', constantFalse),
PredicateId.create('b', eq(target))
])(editor);
Assertions.assertEq(result.id, 'b', 'Should be matching B');
Assertions.assertEq(result.rect.w > 0, true, 'Should be have width');
});
};
var sParentTest = function (tinyApis, editor, inputHtml, selector) {
return Step.sync(function () {
var target, parents, result;
editor.setContent(inputHtml);
target = editor.dom.select(selector)[0];
parents = editor.dom.getParents(target);
result = ElementMatcher.parent(parents, [
PredicateId.create('a', constantFalse),
PredicateId.create('b', eq(parents[1])),
PredicateId.create('c', eq(parents[0]))
])(editor);
Assertions.assertEq(result.id, 'c', 'Should be matching C the closest one');
Assertions.assertEq(result.rect.w > 0, true, 'Should be have width');
});
};
TinyLoader.setup(function (editor, onSuccess, onFailure) {
var tinyApis = TinyApis(editor);
Pipeline.async({}, [
sElementTest(tinyApis, editor, '<p>a</p>', 'p'),
sParentTest(tinyApis, editor, '<div><p><em>a</em></p></div>', 'em')
], onSuccess, onFailure);
}, {
inline: true
}, success, failure);
});