/** * @test */ public function similarizeClearsPropertiesBeforeAddingNewOnes() { /** @var $sourceNode NodeData */ $sourceNode = $this->getAccessibleMock('TYPO3\\TYPO3CR\\Domain\\Model\\NodeData', array('addOrUpdate'), array('/foo/bar', $this->mockWorkspace)); $this->inject($sourceNode, 'nodeTypeManager', $this->mockNodeTypeManager); $sourceNode->_set('nodeDataRepository', $this->createMock('TYPO3\\Flow\\Persistence\\RepositoryInterface')); $this->nodeData->setProperty('someProperty', 'somePropertyValue'); $this->nodeData->setProperty('someOtherProperty', 'someOtherPropertyValue'); $sourceNode->setProperty('newProperty', 'newPropertyValue'); $sourceNode->setProperty('someProperty', 'someOverriddenPropertyValue'); $this->nodeData->similarize($sourceNode); $expectedProperties = array('newProperty' => 'newPropertyValue', 'someProperty' => 'someOverriddenPropertyValue'); $this->assertEquals($expectedProperties, $this->nodeData->getProperties()); }