44 protected function prepareFixture(array $fileReferenceProperties, array $originalFileProperties) {
45 $fixture = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Resource\\FileReference', array(
'dummy'), array(),
'', FALSE);
46 $originalFileMock = $this->
getAccessibleMock(
'TYPO3\\CMS\\Core\\Resource\\File', array(), array(),
'', FALSE);
47 $originalFileMock->expects($this->any())
48 ->method(
'getProperties')
49 ->will($this->returnValue($originalFileProperties)
51 $fixture->_set(
'originalFile', $originalFileMock);
52 $fixture->_set(
'propertiesOfFileReference', $fileReferenceProperties);
62 'File properties correctly override file reference properties' => array(
65 'description' =>
'fileReferenceDescription',
69 'title' =>
'fileTitle',
70 'description' =>
'fileDescription',
71 'alternative' =>
'fileAlternative',
72 'file_only_property' =>
'fileOnlyPropertyValue',
75 'title' =>
'fileTitle',
76 'description' =>
'fileReferenceDescription',
78 'file_only_property' =>
'fileOnlyPropertyValue',
92 $fixture = $this->
prepareFixture($fileReferenceProperties, $originalFileProperties);
93 $actual = $fixture->getProperties();
94 $this->assertSame($expectedMergedProperties, $actual);
105 $fixture = $this->
prepareFixture($fileReferenceProperties, $originalFileProperties);
106 foreach ($expectedMergedProperties as $key => $_) {
107 $this->assertTrue($fixture->hasProperty($key));
119 $fixture = $this->
prepareFixture($fileReferenceProperties, $originalFileProperties);
120 foreach ($expectedMergedProperties as $key => $expectedValue) {
121 $this->assertSame($expectedValue, $fixture->getProperty($key));
134 $fixture = $this->
prepareFixture($fileReferenceProperties, $originalFileProperties);
135 $fixture->getProperty($this->
getUniqueId(
'nothingHere'));
146 $fixture = $this->
prepareFixture($fileReferenceProperties, $originalFileProperties);
147 $this->assertSame($originalFileProperties[
'file_only_property'], $fixture->getProperty(
'file_only_property'));
159 $fixture = $this->
prepareFixture($fileReferenceProperties, $originalFileProperties);
160 $fixture->getReferenceProperty(
'file_only_property');
getPropertiesReturnsMergedPropertiesAndRespectsNullValues(array $fileReferenceProperties, array $originalFileProperties, array $expectedMergedProperties)
prepareFixture(array $fileReferenceProperties, array $originalFileProperties)
hasPropertyReturnsTrueForAllMergedPropertyKeys($fileReferenceProperties, $originalFileProperties, $expectedMergedProperties)
static getSingletonInstances()
getReferencePropertyThrowsExceptionForPropertyOnlyAvailableInOriginalFile($fileReferenceProperties, $originalFileProperties)
getPropertyDoesNotThrowExceptionForPropertyOnlyAvailableInOriginalFile($fileReferenceProperties, $originalFileProperties)
static resetSingletonInstances(array $newSingletonInstances)
getAccessibleMock( $originalClassName, array $methods=array(), array $arguments=array(), $mockClassName='', $callOriginalConstructor=TRUE, $callOriginalClone=TRUE, $callAutoload=TRUE)
getPropertyThrowsExceptionForNotAvailableProperty($fileReferenceProperties, $originalFileProperties)
getPropertyReturnsAllMergedPropertyKeys($fileReferenceProperties, $originalFileProperties, $expectedMergedProperties)