only in patch2: unchanged: --- a/core/modules/field/migration_templates/d6_field_formatter_settings.yml +++ b/core/modules/field/migration_templates/d6_field_formatter_settings.yml @@ -21,12 +21,12 @@ process: source: - field_name - + plugin: skip_on_empty + method: row + - plugin: extract index: - 1 - - - plugin: skip_on_empty - method: row entity_type: 'constants/entity_type' bundle: type_name view_mode: @@ -36,6 +36,9 @@ process: source: - view_mode - + plugin: skip_on_empty + method: row + - plugin: extract index: - 1 only in patch2: unchanged: --- a/core/modules/migrate/tests/src/Unit/process/MigrationTest.php +++ /dev/null @@ -1,85 +0,0 @@ -migrationConfiguration = [ - 'id' => 'test', - 'process' => [], - 'source' => [], - ]; - - parent::setUp(); - } - - /** - * Assert that exceptions during import are logged. - * @expectedException \Drupal\migrate\MigrateSkipRowException - * @covers ::transform - */ - public function testSaveOnException() { - - // A bunch of mock objects to get thing working - $migration = $this->getMigration(); - $migration_source = $this->getMock('\Drupal\migrate\Plugin\MigrateSourceInterface'); - $migration_source->expects($this->once()) - ->method('getIds') - ->willReturn([]); - $migration->expects($this->once()) - ->method('getSourcePlugin') - ->willReturn($migration_source); - $migration_destination = $this->getMock('\Drupal\migrate\Plugin\MigrateDestinationInterface'); - $migration->expects($this->once()) - ->method('getDestinationPlugin') - ->willReturn($migration_destination); - $storage = $this->getMock('\Drupal\Core\Entity\EntityStorageInterface'); - $storage->expects($this->once()) - ->method('loadMultiple') - ->willReturn([ - 'id' => $migration - ]); - $manager = $this->getMockBuilder('\Drupal\migrate\Plugin\MigratePluginManager') - ->disableOriginalConstructor() - ->getMock(); - - // Throw an exception during import so we can log it. - $migration_destination->expects($this->once()) - ->method('import') - ->willThrowException(new MigrateException()); - - // Build our migration plugin. - $plugin = new Migration(['migration' => []], - 'migration', // ? - [], - $migration, - $storage, - $manager); - - // Assert that we log exceptions thrown during the import. - $this->migrateExecutable->expects($this->once()) - ->method('saveMessage'); - - $plugin->transform('value', $this->migrateExecutable, $this->row, 'prop'); - } - -} only in patch2: unchanged: --- a/core/modules/taxonomy/migration_templates/d6_vocabulary_field.yml +++ b/core/modules/taxonomy/migration_templates/d6_vocabulary_field.yml @@ -13,9 +13,13 @@ process: entity_type: 'constants/entity_type' type: 'constants/type' field_name: - plugin: migration - migration: d6_taxonomy_vocabulary - source: vid + - + plugin: migration + migration: d6_taxonomy_vocabulary + source: vid + - + plugin: skip_on_empty + method: row 'settings/target_type': 'constants/target_entity_type' cardinality: 'constants/cardinality' destination: only in patch2: unchanged: --- a/core/modules/taxonomy/migration_templates/d6_vocabulary_field_instance.yml +++ b/core/modules/taxonomy/migration_templates/d6_vocabulary_field_instance.yml @@ -12,9 +12,13 @@ process: entity_type: 'constants/entity_type' bundle: type field_name: - plugin: migration - migration: d6_taxonomy_vocabulary - source: vid + - + plugin: migration + migration: d6_taxonomy_vocabulary + source: vid + - + plugin: skip_on_empty + method: row 'settings/handler': 'constants/selection_handler' 'settings/handler_settings/target_bundles/0': @field_name 'settings/handler_settings/auto_create': 'constants/auto_create'