OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
core
/
test
/
ts
/
browser
/
dom
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:14:55 AM
rwxr-xr-x
📄
ContentCssCorsTest.ts
1.26 KB
02/20/2020 06:13:25 AM
rw-r--r--
📄
ControlSelectionTest.ts
1.8 KB
02/20/2020 06:13:25 AM
rw-r--r--
📄
DimensionsTest.ts
1.59 KB
02/20/2020 06:13:26 AM
rw-r--r--
📄
DomUtilsTest.ts
28.64 KB
02/20/2020 06:13:26 AM
rw-r--r--
📄
ElementTypeTest.ts
4.84 KB
02/20/2020 06:13:27 AM
rw-r--r--
📄
EmptyTest.ts
2 KB
02/20/2020 06:13:27 AM
rw-r--r--
📄
EventUtilsTest.ts
13.79 KB
02/20/2020 06:13:28 AM
rw-r--r--
📄
NodePathTest.ts
1.65 KB
02/20/2020 06:13:28 AM
rw-r--r--
📄
NodeTypeTest.ts
6.15 KB
02/20/2020 06:13:29 AM
rw-r--r--
📄
PaddingBrTest.ts
3.99 KB
02/20/2020 06:13:29 AM
rw-r--r--
📄
ParentsTest.ts
4.24 KB
02/20/2020 06:13:30 AM
rw-r--r--
📄
ScrollIntoViewTest.ts
8.76 KB
02/20/2020 06:13:30 AM
rw-r--r--
📄
SelectionEventsTest.ts
4.32 KB
02/20/2020 06:13:31 AM
rw-r--r--
📄
SelectionQuirksTest.ts
3.6 KB
02/20/2020 06:13:31 AM
rw-r--r--
📄
SelectionTest.ts
52.46 KB
02/20/2020 06:13:33 AM
rw-r--r--
📄
SerializerEventsTest.ts
2.24 KB
02/20/2020 06:13:33 AM
rw-r--r--
📄
SerializerTest.ts
36.74 KB
02/20/2020 06:13:34 AM
rw-r--r--
📄
TreeWalkerTest.ts
2.76 KB
02/20/2020 06:13:34 AM
rw-r--r--
📄
TrimHtmlTest.ts
1.32 KB
02/20/2020 06:13:35 AM
rw-r--r--
📄
TrimNodeTest.ts
1.68 KB
02/20/2020 06:13:35 AM
rw-r--r--
Editing: ParentsTest.ts
Close
import { Assertions, Chain, GeneralSteps, Logger, Pipeline } from '@ephox/agar'; import { Arr } from '@ephox/katamari'; import { Hierarchy, Element, Node } from '@ephox/sugar'; import Parents from 'tinymce/core/dom/Parents'; import { UnitTest } from '@ephox/bedrock'; UnitTest.asynctest('browser.tinymce.core.dom.ParentsTest', function () { const success = arguments[arguments.length - 2]; const failure = arguments[arguments.length - 1]; const cCreateStructure = function (html) { return Chain.mapper(function (_) { return Element.fromHtml(html); }); }; const cParentsUntil = function (startPath, rootPath, predicate) { return Chain.mapper(function (structure: any) { const startNode = Hierarchy.follow(structure, startPath).getOrDie(); const rootNode = Hierarchy.follow(structure, rootPath).getOrDie(); return Parents.parentsUntil(startNode, rootNode, predicate); }); }; const cParents = function (startPath, rootPath) { return Chain.mapper(function (structure: any) { const startNode = Hierarchy.follow(structure, startPath).getOrDie(); const rootNode = Hierarchy.follow(structure, rootPath).getOrDie(); return Parents.parents(startNode, rootNode); }); }; const cParentsAndSelf = function (startPath, rootPath) { return Chain.mapper(function (structure: any) { const startNode = Hierarchy.follow(structure, startPath).getOrDie(); const rootNode = Hierarchy.follow(structure, rootPath).getOrDie(); return Parents.parentsAndSelf(startNode, rootNode); }); }; const cAssertElementNames = function (expectedNames) { return Chain.mapper(function (parents: Element[]) { const names = Arr.map(parents, Node.name); Assertions.assertEq('Should be expected names', expectedNames, names); return {}; }); }; const hasName = function (name) { return function (elm) { return Node.name(elm) === name; }; }; Pipeline.async({}, [ Logger.t('parentsUntil', GeneralSteps.sequence([ Logger.t('parentsUntil root', Chain.asStep({}, [ cCreateStructure('<p><b>a</b></p>'), cParentsUntil([0, 0], [], hasName('p')), cAssertElementNames(['b']) ])), Logger.t('parentsUntil root on elm', Chain.asStep({}, [ cCreateStructure('<p><b><i></i></b></p>'), cParentsUntil([0, 0], [], hasName('p')), cAssertElementNames(['b']) ])), Logger.t('parentsUntil root deeper', Chain.asStep({}, [ cCreateStructure('<p><b><i><u>a</u></i></b></p>'), cParentsUntil([0, 0, 0, 0], [], hasName('p')), cAssertElementNames(['u', 'i', 'b']) ])), Logger.t('parentsUntil end at b', Chain.asStep({}, [ cCreateStructure('<p><b><i><u>a</u></i></b></p>'), cParentsUntil([0, 0, 0, 0], [], hasName('b')), cAssertElementNames(['u', 'i']) ])), Logger.t('parentsUntil end at b', Chain.asStep({}, [ cCreateStructure('<p><b>a</b></p>'), cParentsUntil([0, 0], [], hasName('b')), cAssertElementNames([]) ])), Logger.t('parentsUntil root scope', Chain.asStep({}, [ cCreateStructure('<p><b><i><u>a</u></i></b></p>'), cParentsUntil([0, 0, 0, 0], [0], hasName('p')), cAssertElementNames(['u', 'i']) ])) ])), Logger.t('parents', GeneralSteps.sequence([ Logger.t('parents', Chain.asStep({}, [ cCreateStructure('<p><b><i><u>a</u></i></b></p>'), cParents([0, 0, 0, 0], []), cAssertElementNames(['u', 'i', 'b']) ])), Logger.t('parents scoped', Chain.asStep({}, [ cCreateStructure('<p><b><i><u>a</u></i></b></p>'), cParents([0, 0, 0, 0], [0]), cAssertElementNames(['u', 'i']) ])) ])), Logger.t('parentsAndSelf', GeneralSteps.sequence([ Logger.t('parentsAndSelf', Chain.asStep({}, [ cCreateStructure('<p><b><i><u>a</u></i></b></p>'), cParentsAndSelf([0, 0, 0, 0], []), cAssertElementNames(['#text', 'u', 'i', 'b']) ])), Logger.t('parentsAndSelf scoped', Chain.asStep({}, [ cCreateStructure('<p><b><i><u>a</u></i></b></p>'), cParentsAndSelf([0, 0, 0, 0], [0]), cAssertElementNames(['#text', 'u', 'i']) ])) ])) ], function () { success(); }, failure); });