[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
pmb2
/
assets
/
tinymce
/
src
/
core
/
src
/
test
/
js
/
browser
/
dom
/
[
Home
]
File: TreeWalkerTest.js
asynctest( 'browser.tinymce.core.dom.TreeWalkerTest', [ 'ephox.agar.api.Pipeline', 'ephox.mcagar.api.LegacyUnit', 'tinymce.core.dom.TreeWalker', 'tinymce.core.test.ViewBlock' ], function (Pipeline, LegacyUnit, TreeWalker, ViewBlock) { var success = arguments[arguments.length - 2]; var failure = arguments[arguments.length - 1]; var suite = LegacyUnit.createSuite(); var viewBlock = ViewBlock(); var nodes; var setup = function () { var all = function (node) { var list = [node]; if (node.hasChildNodes()) { for (var i = 0; i < node.childNodes.length; i++) { list = list.concat(all(node.childNodes[i])); } } return list; }; viewBlock.update( '1' + '<ul>' + '<li>' + '2' + '<ul>' + '<li>3</li>' + '<li>4</li>' + '</ul>' + '</li>' + '<li>' + '5' + '<ul>' + '<li>6</li>' + '<li>7</li>' + '</ul>' + '</li>' + '</ul>' + '8' ); nodes = all(viewBlock.get()).slice(1); }; var compareNodeLists = function (expectedNodes, actutalNodes) { if (expectedNodes.length !== actutalNodes.length) { return false; } for (var i = 0; i < expectedNodes.length; i++) { if (expectedNodes[i] !== actutalNodes[i]) { return false; } } return true; }; suite.test('next', function () { var walker = new TreeWalker(nodes[0], viewBlock.get()); var actualNodes; actualNodes = [walker.current()]; while ((walker.next())) { actualNodes.push(walker.current()); } LegacyUnit.equal(compareNodeLists(nodes, actualNodes), true, 'Should be the same'); }); suite.test('prev2', function () { var walker = new TreeWalker(nodes[nodes.length - 1], viewBlock.get()); var actualNodes; actualNodes = [walker.current()]; while ((walker.prev2())) { actualNodes.push(walker.current()); } actualNodes = actualNodes.reverse(); LegacyUnit.equal(compareNodeLists(nodes, actualNodes), true, 'Should be the same'); }); suite.test('prev2(shallow:true)', function () { var walker = new TreeWalker(nodes[nodes.length - 1], viewBlock.get()); var actualNodes; actualNodes = [walker.current()]; while ((walker.prev2(true))) { actualNodes.push(walker.current()); } actualNodes = actualNodes.reverse(); LegacyUnit.equal(compareNodeLists(viewBlock.get().childNodes, actualNodes), true, 'Should be the same'); }); viewBlock.attach(); setup(); Pipeline.async({}, suite.toSteps({}), function () { viewBlock.detach(); success(); }, failure); } );