only in patch2: unchanged: --- /dev/null +++ b/core/modules/link/tests/src/Unit/Plugin/migrate/cckfield/LinkCckTest.php @@ -0,0 +1,59 @@ +plugin = new LinkField([], 'link', []); + + $migration = $this->prophesize(MigrationInterface::class); + + // The plugin's processCckFieldValues() method will call + // mergeProcessOfProperty() and return nothing. So, in order to examine the + // process pipeline created by the plugin, we need to ensure that + // getProcess() always returns the last input to mergeProcessOfProperty(). + $migration->mergeProcessOfProperty(Argument::type('string'), Argument::type('array')) + ->will(function($arguments) use ($migration) { + $migration->getProcess()->willReturn($arguments[1]); + }); + + $this->migration = $migration->reveal(); + } + + /** + * @covers ::processCckFieldValues + */ + public function testProcessCckFieldValues() { + $this->plugin->processCckFieldValues($this->migration, 'somefieldname', []); + + $expected = [ + 'plugin' => 'd6_cck_link', + 'source' => 'somefieldname', + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/link/tests/src/Unit/Plugin/migrate/cckfield/d7/LinkCckTest.php @@ -0,0 +1,65 @@ +plugin = new LinkField([], 'link', []); + + $migration = $this->prophesize(MigrationInterface::class); + + // The plugin's processFieldInstance() method will call + // mergeProcessOfProperty() and return nothing. So, in order to examine the + // process pipeline created by the plugin, we need to ensure that + // getProcess() always returns the last input to mergeProcessOfProperty(). + $migration->mergeProcessOfProperty(Argument::type('string'), Argument::type('array')) + ->will(function($arguments) use ($migration) { + $migration->getProcess()->willReturn($arguments[1]); + }); + + $this->migration = $migration->reveal(); + } + + /** + * @covers ::processFieldInstance + */ + public function testProcessFieldInstance() { + $this->plugin->processFieldInstance($this->migration); + + $expected = [ + 'plugin' => 'static_map', + 'source' => 'instance_settings/title', + 'bypass' => TRUE, + 'map' => [ + 'disabled' => DRUPAL_DISABLED, + 'optional' => DRUPAL_OPTIONAL, + 'required' => DRUPAL_REQUIRED, + ], + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/link/tests/src/Unit/Plugin/migrate/field/d6/LinkFieldTest.php @@ -0,0 +1,59 @@ +plugin = new LinkField([], 'link', []); + + $migration = $this->prophesize(MigrationInterface::class); + + // The plugin's processFieldValues() method will call + // mergeProcessOfProperty() and return nothing. So, in order to examine the + // process pipeline created by the plugin, we need to ensure that + // getProcess() always returns the last input to mergeProcessOfProperty(). + $migration->mergeProcessOfProperty(Argument::type('string'), Argument::type('array')) + ->will(function($arguments) use ($migration) { + $migration->getProcess()->willReturn($arguments[1]); + }); + + $this->migration = $migration->reveal(); + } + + /** + * @covers ::processFieldValues + */ + public function testProcessFieldValues() { + $this->plugin->processFieldValues($this->migration, 'somefieldname', []); + + $expected = [ + 'plugin' => 'd6_field_link', + 'source' => 'somefieldname', + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/link/tests/src/Unit/Plugin/migrate/field/d7/LinkFieldTest.php @@ -0,0 +1,65 @@ +plugin = new LinkField([], 'link', []); + + $migration = $this->prophesize(MigrationInterface::class); + + // The plugin's ProcessFieldInstance() method will call + // mergeProcessOfProperty() and return nothing. So, in order to examine the + // process pipeline created by the plugin, we need to ensure that + // getProcess() always returns the last input to mergeProcessOfProperty(). + $migration->mergeProcessOfProperty(Argument::type('string'), Argument::type('array')) + ->will(function($arguments) use ($migration) { + $migration->getProcess()->willReturn($arguments[1]); + }); + + $this->migration = $migration->reveal(); + } + + /** + * @covers ::processFieldInstance + */ + public function testProcessFieldInstance() { + $this->plugin->processFieldInstance($this->migration); + + $expected = [ + 'plugin' => 'static_map', + 'source' => 'instance_settings/title', + 'bypass' => TRUE, + 'map' => [ + 'disabled' => DRUPAL_DISABLED, + 'optional' => DRUPAL_OPTIONAL, + 'required' => DRUPAL_REQUIRED, + ], + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + +}