only in patch2: unchanged: --- /dev/null +++ b/core/modules/file/tests/src/Unit/Plugin/migrate/cckfield/d6/FileCckTest.php @@ -0,0 +1,81 @@ +plugin = new FileField([], 'file', []); + + $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 ::processCckFieldValues + */ + public function testProcessCckFieldValues() { + $this->plugin->processCckFieldValues($this->migration, 'somefieldname', []); + + $expected = [ + 'plugin' => 'd6_cck_file', + 'source' => 'somefieldname', + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + + /* + * Data provider for testGetFieldType(). + */ + public function getFieldTypeProvider() { + return [ + ['image', 'imagefield_widget'], + ['file', 'filefield_widget'], + ['file', 'x_widget'] + ]; + } + + /** + * @covers ::getFieldType + * @dataProvider getFieldTypeProvider + */ + public function testGetFieldType($expected_type, $widget_type, array $settings = []) { + $row = new Row(); + $row->setSourceProperty('widget_type', $widget_type); + $row->setSourceProperty('global_settings', $settings); + $this->assertSame($expected_type, $this->plugin->getFieldType($row)); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/file/tests/src/Unit/Plugin/migrate/cckfield/d7/FileCckTest.php @@ -0,0 +1,86 @@ +plugin = new FileField([], 'file', []); + + $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 ::processCckFieldValues + */ + public function testProcessCckFieldValues() { + $this->plugin->processCckFieldValues($this->migration, 'somefieldname', []); + + $expected = [ + 'plugin' => 'iterator', + 'source' => 'somefieldname', + 'process' => [ + 'target_id' => 'fid', + 'display' => 'display', + 'description' => 'description', + ], + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + + /* + * Data provider for testGetFieldType(). + */ + public function getFieldTypeProvider() { + return [ + ['image', 'imagefield_widget'], + ['file', 'filefield_widget'], + ['file', 'x_widget'] + ]; + } + + /** + * @covers ::getFieldType + * @dataProvider getFieldTypeProvider + */ + public function testGetFieldType($expected_type, $widget_type, array $settings = []) { + $row = new Row(); + $row->setSourceProperty('widget_type', $widget_type); + $row->setSourceProperty('global_settings', $settings); + $this->assertSame($expected_type, $this->plugin->getFieldType($row)); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/file/tests/src/Unit/Plugin/migrate/cckfield/d7/ImageCckTest.php @@ -0,0 +1,65 @@ +plugin = new ImageField([], 'image', []); + + $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 ::processCckFieldValues + */ + public function testProcessCckFieldValues() { + $this->plugin->processCckFieldValues($this->migration, 'somefieldname', []); + + $expected = [ + 'plugin' => 'iterator', + 'source' => 'somefieldname', + 'process' => [ + 'target_id' => 'fid', + 'alt' => 'alt', + 'title' => 'title', + 'width' => 'width', + 'height' => 'height', + ], + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/file/tests/src/Unit/Plugin/migrate/field/d6/FileFieldTest.php @@ -0,0 +1,81 @@ +plugin = new FileField([], 'file', []); + + $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_file', + 'source' => 'somefieldname', + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + + /* + * Data provider for testGetFieldType(). + */ + public function getFieldTypeProvider() { + return [ + ['image', 'imagefield_widget'], + ['file', 'filefield_widget'], + ['file', 'x_widget'] + ]; + } + + /** + * @covers ::getFieldType + * @dataProvider getFieldTypeProvider + */ + public function testGetFieldType($expected_type, $widget_type, array $settings = []) { + $row = new Row(); + $row->setSourceProperty('widget_type', $widget_type); + $row->setSourceProperty('global_settings', $settings); + $this->assertSame($expected_type, $this->plugin->getFieldType($row)); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/file/tests/src/Unit/Plugin/migrate/field/d7/FileFieldTest.php @@ -0,0 +1,86 @@ +plugin = new FileField([], 'file', []); + + $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' => 'iterator', + 'source' => 'somefieldname', + 'process' => [ + 'target_id' => 'fid', + 'display' => 'display', + 'description' => 'description', + ], + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + + /* + * Data provider for testGetFieldType(). + */ + public function getFieldTypeProvider() { + return [ + ['image', 'imagefield_widget'], + ['file', 'filefield_widget'], + ['file', 'x_widget'] + ]; + } + + /** + * @covers ::getFieldType + * @dataProvider getFieldTypeProvider + */ + public function testGetFieldType($expected_type, $widget_type, array $settings = []) { + $row = new Row(); + $row->setSourceProperty('widget_type', $widget_type); + $row->setSourceProperty('global_settings', $settings); + $this->assertSame($expected_type, $this->plugin->getFieldType($row)); + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/modules/file/tests/src/Unit/Plugin/migrate/field/d7/ImageFieldTest.php @@ -0,0 +1,65 @@ +plugin = new ImageField([], 'image', []); + + $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' => 'iterator', + 'source' => 'somefieldname', + 'process' => [ + 'target_id' => 'fid', + 'alt' => 'alt', + 'title' => 'title', + 'width' => 'width', + 'height' => 'height', + ], + ]; + $this->assertSame($expected, $this->migration->getProcess()); + } + +}