Neos\ContentRepository\Tests\Functional\Domain\NodesTest::nodeDataRepositoryRenumbersNodesIfNoFreeSortingIndexesAreAvailableAcrossDimensions PHP Метод

nodeDataRepositoryRenumbersNodesIfNoFreeSortingIndexesAreAvailableAcrossDimensions() публичный Метод

    public function nodeDataRepositoryRenumbersNodesIfNoFreeSortingIndexesAreAvailableAcrossDimensions()
    {
        $this->contentDimensionRepository->setDimensionsConfiguration(array('test' => array('default' => 'a')));
        $variantContextA = $this->contextFactory->create(array('dimensions' => array('test' => array('a')), 'targetDimensions' => array('test' => 'a')));
        $variantContextB = $this->contextFactory->create(array('dimensions' => array('test' => array('b', 'a')), 'targetDimensions' => array('test' => 'b')));
        $rootNodeA = $variantContextA->getRootNode();
        $rootNodeB = $rootNodeA->createVariantForContext($variantContextB);
        $liveParentNodeA = $rootNodeA->createNode('parent-node');
        $liveParentNodeB = $liveParentNodeA->createVariantForContext($variantContextB);
        $nodesA = array();
        $nodesA[0] = $liveParentNodeA->createNode('node000');
        $nodesA[150] = $liveParentNodeA->createNode('node150');
        $nodesB[0] = $nodesA[0]->createVariantForContext($variantContextB);
        $nodesB[150] = $nodesA[150]->createVariantForContext($variantContextB);
        $this->persistenceManager->persistAll();
        for ($i = 1; $i < 150; $i++) {
            $newNodeA = $liveParentNodeA->createNode('node' . sprintf('%1$03d', $i));
            $newNodeA->moveAfter($nodesA[$i - 1]);
            $newNodeB = $newNodeA->createVariantForContext($variantContextB);
            $nodesA[$i] = $newNodeA;
            $nodesB[$i] = $newNodeB;
        }
        $this->persistenceManager->persistAll();
        ksort($nodesA);
        ksort($nodesB);
        $actualChildNodesA = $liveParentNodeA->getChildNodes();
        $actualChildNodesB = $liveParentNodeB->getChildNodes();
        $this->assertSameOrder($nodesA, $actualChildNodesA);
        $this->assertSameOrder($nodesB, $actualChildNodesB);
    }
NodesTest