예제 #1
0
 public function testSortBlocks()
 {
     $updaterMock = $this->getMockBuilder('ConLayout\\Updater\\LayoutUpdaterInterface')->getMock();
     $updaterMock->method('getLayoutStructure')->willReturn(new Config([]));
     $layout = new Layout($this->blockFactory, $updaterMock);
     $expectedOrder = [1 => 'block-2', 2 => 'block-4', 3 => 'block-1', 4 => 'block-3'];
     $block1 = new ViewModel([], ['order' => 5]);
     $block2 = new ViewModel([], ['order' => -10]);
     $block3 = new ViewModel([], ['order' => 10]);
     $block4 = new ViewModel();
     $layout->addBlock('block-1', $block1);
     $layout->addBlock('block-2', $block2);
     $layout->addBlock('block-3', $block3);
     $layout->addBlock('block-4', $block4);
     $layout->load();
     $i = 1;
     foreach (array_keys($layout->getBlocks()) as $blockId) {
         $this->assertEquals($expectedOrder[$i], $blockId);
         $i++;
     }
 }