本文整理汇总了PHP中TYPO3\Eel\FlowQuery\FlowQuery::nextUntil方法的典型用法代码示例。如果您正苦于以下问题:PHP FlowQuery::nextUntil方法的具体用法?PHP FlowQuery::nextUntil怎么用?PHP FlowQuery::nextUntil使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\Eel\FlowQuery\FlowQuery
的用法示例。
在下文中一共展示了FlowQuery::nextUntil方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: nextUntilOperationTests
/**
* Tests on a tree:
*
* a
* a1
* a2
* a3 (testNodeType)
* a4
* a5 (testNodeType)
* b
* b1
* b2
* b3 (testNodeType3)
* b4
*
* @test
* @dataProvider nextUntilOperationDataProvider()
*/
public function nextUntilOperationTests(array $currentNodePaths, $subject, array $expectedNodePaths, array $unexpectedNodePaths)
{
$nodeTypeManager = $this->objectManager->get('TYPO3\\TYPO3CR\\Domain\\Service\\NodeTypeManager');
$testNodeType = $nodeTypeManager->getNodeType('TYPO3.TYPO3CR.Testing:NodeType');
$rootNode = $this->node->getNode('/');
$nodeA = $rootNode->createNode('a');
$nodeA->createNode('a1');
$nodeA->createNode('a2');
$nodeA->createNode('a3', $testNodeType);
$nodeA->createNode('a4');
$nodeA->createNode('a5', $testNodeType);
$nodeB = $rootNode->createNode('b');
$nodeB->createNode('b1');
$nodeB->createNode('b2');
$nodeB->createNode('b3', $testNodeType);
$nodeB->createNode('b4');
$currentNodes = array();
foreach ($currentNodePaths as $currentNodePath) {
$currentNodes[] = $rootNode->getNode($currentNodePath);
}
if (is_array($subject)) {
$subjectNodes = array();
foreach ($subject as $subjectNodePath) {
$subjectNodes[] = $rootNode->getNode($subjectNodePath);
}
$subject = $subjectNodes;
}
$q = new FlowQuery($currentNodes);
$result = $q->nextUntil($subject)->get();
if ($expectedNodePaths === array() && $unexpectedNodePaths === array()) {
$this->assertEmpty($result);
} else {
foreach ($expectedNodePaths as $expectedNodePath) {
$expectedNode = $rootNode->getNode($expectedNodePath);
if (!in_array($expectedNode, $result)) {
$this->fail(sprintf('Expected result to contain node "%s"', $expectedNodePath));
}
}
foreach ($unexpectedNodePaths as $unexpectedNodePath) {
$unexpectedNode = $rootNode->getNode($unexpectedNodePath);
if (in_array($unexpectedNode, $result)) {
$this->fail(sprintf('Expected result not to contain node "%s"', $unexpectedNodePath));
}
}
}
}