17 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
32 protected function setUp()
34 $this->dataProviderCollection = new \TYPO3\CMS\Backend\View\BackendLayout\DataProviderCollection();
42 $this->expectException(\UnexpectedValueException::class);
43 $this->expectExceptionCode(1381597629);
44 $identifier = $this->getUniqueId(
'identifier__');
45 $dataProviderMock = $this->getMockBuilder(
'stdClass')->getMock();
47 $this->dataProviderCollection->add($identifier, get_class($dataProviderMock));
55 $this->expectException(\LogicException::class);
56 $this->expectExceptionCode(1381269811);
57 $identifier = $this->getUniqueId(
'identifier');
58 $dataProviderMock = $this->getMockBuilder(
'stdClass')->getMock();
60 $this->dataProviderCollection->add($identifier, get_class($dataProviderMock));
68 $backendLayoutIdentifier = $this->getUniqueId(
'identifier');
70 $dataProviderMock = $this->getMockBuilder(\
TYPO3\CMS\Backend\View\BackendLayout\DefaultDataProvider::class)
71 ->setMethods([
'getBackendLayout'])
72 ->disableOriginalConstructor()
74 $backendLayoutMock = $this->getMockBuilder(\
TYPO3\CMS\Backend\View\BackendLayout\BackendLayout::class)
75 ->setMethods([
'getIdentifier'])
76 ->disableOriginalConstructor()
78 $backendLayoutMock->expects($this->any())->method(
'getIdentifier')->will($this->returnValue($backendLayoutIdentifier));
79 $dataProviderMock->expects($this->once())->method(
'getBackendLayout')->will($this->returnValue($backendLayoutMock));
81 $this->dataProviderCollection->add(
'default', $dataProviderMock);
82 $providedBackendLayout = $this->dataProviderCollection->getBackendLayout($backendLayoutIdentifier, 123);
84 $this->assertNotNull($providedBackendLayout);
85 $this->assertEquals($backendLayoutIdentifier, $providedBackendLayout->getIdentifier());
93 $dataProviderIdentifier = $this->getUniqueId(
'custom');
94 $backendLayoutIdentifier = $this->getUniqueId(
'identifier');
96 $dataProviderMock = $this->getMockBuilder(\
TYPO3\CMS\Backend\View\BackendLayout\DefaultDataProvider::class)
97 ->setMethods([
'getBackendLayout'])
98 ->disableOriginalConstructor()
100 $backendLayoutMock = $this->getMockBuilder(\
TYPO3\CMS\Backend\View\BackendLayout\BackendLayout::class)
101 ->setMethods([
'getIdentifier'])
102 ->disableOriginalConstructor()
104 $backendLayoutMock->expects($this->any())->method(
'getIdentifier')->will($this->returnValue($backendLayoutIdentifier));
105 $dataProviderMock->expects($this->once())->method(
'getBackendLayout')->will($this->returnValue($backendLayoutMock));
107 $this->dataProviderCollection->add($dataProviderIdentifier, $dataProviderMock);
108 $providedBackendLayout = $this->dataProviderCollection->getBackendLayout($dataProviderIdentifier .
'__' . $backendLayoutIdentifier, 123);
110 $this->assertNotNull($providedBackendLayout);
111 $this->assertEquals($backendLayoutIdentifier, $providedBackendLayout->getIdentifier());