public function assertUpdateFieldsForInitialLanguage($storageHandlerUpdatesFields = false)
{
$storageHandlerMock = $this->getStorageHandlerMock();
$callNo = 0;
$fieldValue = new FieldValue();
$fieldsToCopy = array();
foreach (array(1, 2, 3) as $fieldDefinitionId) {
$field = new Field(array('fieldDefinitionId' => $fieldDefinitionId, 'type' => 'some-type', 'versionNo' => 1, 'value' => $fieldValue, 'languageCode' => 'eng-US'));
// These fields are copied from main language
if ($fieldDefinitionId == 2 || $fieldDefinitionId == 3) {
$originalField = clone $field;
$originalField->languageCode = 'eng-GB';
$fieldsToCopy[] = array('copy' => clone $field, 'original' => $originalField);
continue;
}
// This field is inserted as empty
$field->value = null;
$storageHandlerMock->expects($this->at($callNo++))->method('storeFieldData')->with($this->isInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\VersionInfo'), $this->equalTo($field))->will($this->returnValue($storageHandlerUpdatesFields));
}
foreach ($fieldsToCopy as $fieldToCopy) {
$storageHandlerMock->expects($this->at($callNo++))->method('copyFieldData')->with($this->isInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\VersionInfo'), $this->equalTo($fieldToCopy['copy']), $this->equalTo($fieldToCopy['original']))->will($this->returnValue($storageHandlerUpdatesFields));
}
}