本文整理汇总了PHP中TYPO3\Eel\FlowQuery\FlowQuery::has方法的典型用法代码示例。如果您正苦于以下问题:PHP FlowQuery::has方法的具体用法?PHP FlowQuery::has怎么用?PHP FlowQuery::has使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\Eel\FlowQuery\FlowQuery
的用法示例。
在下文中一共展示了FlowQuery::has方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: hasOperationTests
/**
* Tests on a tree:
*
* a
* a1
* b
* b1 (TestingNodeType)
* b1a
* c
*
* @test
* @dataProvider hasOperationDataProvider()
*/
public function hasOperationTests(array $currentNodePaths, $subject, array $expectedNodePaths)
{
$nodeTypeManager = $this->objectManager->get('TYPO3\\TYPO3CR\\Domain\\Service\\NodeTypeManager');
$testNodeType1 = $nodeTypeManager->getNodeType('TYPO3.TYPO3CR.Testing:NodeType');
$rootNode = $this->node->getNode('/');
$nodeA = $rootNode->createNode('a');
$nodeA->createNode('a1');
$nodeB = $rootNode->createNode('b');
$nodeB1 = $nodeB->createNode('b1', $testNodeType1);
$nodeB1->createNode('b1a');
$rootNode->createNode('c');
$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->has($subject)->get();
if ($expectedNodePaths === 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));
}
}
}
}