17 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
32 protected function setUp()
34 $this->backendLayoutView = $this->getAccessibleMock(
35 \
TYPO3\CMS\Backend\View\BackendLayoutView::class,
36 [
'getPage',
'getRootLine'],
52 $pageId = $page[
'uid'];
54 $this->backendLayoutView->expects($this->once())
55 ->method(
'getPage')->with($this->equalTo($pageId))
56 ->will($this->returnValue($page));
57 $this->backendLayoutView->expects($this->any())
58 ->method(
'getRootLine')->with($this->equalTo($pageId))
59 ->will($this->returnValue($rootLine));
61 $selectedCombinedIdentifier = $this->backendLayoutView->_call(
'getSelectedCombinedIdentifier', $pageId);
62 $this->assertEquals($expected, $selectedCombinedIdentifier);
71 'first level w/o layout' => [
73 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
75 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
76 [
'uid' => 0,
'pid' =>
null],
79 'first level with layout' => [
81 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'1',
'backend_layout_next_level' =>
'0'],
83 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'1',
'backend_layout_next_level' =>
'0'],
84 [
'uid' => 0,
'pid' =>
null],
87 'first level with provided layout' => [
89 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'mine_current',
'backend_layout_next_level' =>
'0'],
91 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'mine_current',
'backend_layout_next_level' =>
'0'],
92 [
'uid' => 0,
'pid' =>
null],
95 'first level with next layout' => [
97 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
99 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
100 [
'uid' => 0,
'pid' =>
null],
103 'first level with provided next layout' => [
105 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'mine_next'],
107 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'mine_next'],
108 [
'uid' => 0,
'pid' =>
null],
111 'second level w/o layout, first level with layout' => [
113 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
115 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
116 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'1',
'backend_layout_next_level' =>
'0'],
117 [
'uid' => 0,
'pid' =>
null],
120 'second level w/o layout, first level with next layout' => [
122 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
124 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
125 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
126 [
'uid' => 0,
'pid' =>
null],
129 'second level with layout, first level with next layout' => [
131 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'2',
'backend_layout_next_level' =>
'0'],
133 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'2',
'backend_layout_next_level' =>
'0'],
134 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
135 [
'uid' => 0,
'pid' =>
null],
138 'second level with layouts, first level resetting all layouts' => [
140 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'1',
'backend_layout_next_level' =>
'1'],
142 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'1',
'backend_layout_next_level' =>
'1'],
143 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'-1',
'backend_layout_next_level' =>
'-1'],
144 [
'uid' => 0,
'pid' =>
null],
147 'second level with provided layouts, first level resetting all layouts' => [
149 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'mine_current',
'backend_layout_next_level' =>
'mine_next'],
151 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'mine_current',
'backend_layout_next_level' =>
'mine_next'],
152 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'-1',
'backend_layout_next_level' =>
'-1'],
153 [
'uid' => 0,
'pid' =>
null],
156 'second level resetting layout, first level with next layout' => [
158 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'-1',
'backend_layout_next_level' =>
'0'],
160 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'-1',
'backend_layout_next_level' =>
'0'],
161 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
162 [
'uid' => 0,
'pid' =>
null],
165 'second level resetting next layout, first level with next layout' => [
167 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'-1'],
169 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'-1'],
170 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
171 [
'uid' => 0,
'pid' =>
null],
174 'third level w/o layout, second level resetting layout, first level with next layout' => [
176 [
'uid' => 3,
'pid' => 2,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
178 [
'uid' => 3,
'pid' => 2,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
179 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'-1',
'backend_layout_next_level' =>
'0'],
180 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
181 [
'uid' => 0,
'pid' =>
null],
184 'third level w/o layout, second level resetting next layout, first level with next layout' => [
186 [
'uid' => 3,
'pid' => 2,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
188 [
'uid' => 3,
'pid' => 2,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
189 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'-1'],
190 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'1'],
191 [
'uid' => 0,
'pid' =>
null],
194 'third level with provided layouts, second level w/o layout, first level resetting layouts' => [
196 [
'uid' => 3,
'pid' => 2,
'backend_layout' =>
'mine_current',
'backend_layout_next_level' =>
'mine_next'],
198 [
'uid' => 3,
'pid' => 2,
'backend_layout' =>
'mine_current',
'backend_layout_next_level' =>
'mine_next'],
199 [
'uid' => 2,
'pid' => 1,
'backend_layout' =>
'0',
'backend_layout_next_level' =>
'0'],
200 [
'uid' => 1,
'pid' => 0,
'backend_layout' =>
'-1',
'backend_layout_next_level' =>
'-1'],
201 [
'uid' => 0,
'pid' =>
null],