public function CSVUnitTest::iteratorDataProvider in Migrate Source CSV 8.3
Data provider for iterator testing.
Return value
array The test case.
File
- tests/
src/ Unit/ Plugin/ migrate/ source/ CSVUnitTest.php, line 171
Class
- CSVUnitTest
- @coversDefaultClass \Drupal\migrate_source_csv\Plugin\migrate\source\CSV
Namespace
Drupal\Tests\migrate_source_csv\Unit\Plugin\migrate\sourceCode
public function iteratorDataProvider() : array {
$data['non standard'] = [
'configuration' => [
'ids' => [
'ids',
],
'path' => 'non standard',
'header_offset' => NULL,
'delimiter' => '|',
'enclosure' => '%',
'escape' => '`',
],
'expected rows' => [
[
'1',
'Justin',
'Dean',
'jdean0@example.com',
'Indonesia',
'60.242.130.40',
],
[
'2',
'Joan',
'Jordan',
'jjordan1@example.com',
'Thailand',
'137.230.209.171',
],
],
];
$data['standard'] = [
'configuration' => [
'ids' => [
'ids',
],
],
'expected rows' => [
[
'id' => '1',
'first_name' => 'Justin',
'last_name' => 'Dean',
'email' => 'jdean0@example.com',
'country' => 'Indonesia',
'ip_address' => '60.242.130.40',
],
[
'id' => '2',
'first_name' => 'Joan',
'last_name' => 'Jordan',
'email' => 'jjordan1@example.com',
'country' => 'Thailand',
'ip_address' => '137.230.209.171',
],
],
];
$data['with defined fields'] = [
'configuration' => [
'ids' => [
'ids',
],
'fields' => [
[
'name' => 'id',
],
[
'name' => 'first_name',
'label' => 'First Name',
],
],
],
'expected rows' => [
[
'id' => '1',
'first_name' => 'Justin',
],
[
'id' => '2',
'first_name' => 'Joan',
],
],
];
$data['default record number field name'] = [
'configuration' => [
'ids' => [
'id',
],
'create_record_number' => TRUE,
],
'expected rows' => [
[
'id' => '1',
'first_name' => 'Justin',
'last_name' => 'Dean',
'email' => 'jdean0@example.com',
'country' => 'Indonesia',
'ip_address' => '60.242.130.40',
'record_number' => 1,
],
[
'id' => '2',
'first_name' => 'Joan',
'last_name' => 'Jordan',
'email' => 'jjordan1@example.com',
'country' => 'Thailand',
'ip_address' => '137.230.209.171',
'record_number' => 2,
],
],
];
$data['custom record number field name'] = [
'configuration' => [
'ids' => [
'MyRowNumber',
],
'create_record_number' => TRUE,
'record_number_field' => 'MyRowNumber',
'header_offset' => 1,
],
'expected rows' => [
[
'1' => 'id',
'Justin' => 'first_name',
'Dean' => 'last_name',
'jdean0@example.com' => 'email',
'Indonesia' => 'country',
'60.242.130.40' => 'ip_address',
'MyRowNumber' => 2,
],
[
'1' => '2',
'Justin' => 'Joan',
'Dean' => 'Jordan',
'jdean0@example.com' => 'jjordan1@example.com',
'Indonesia' => 'Thailand',
'60.242.130.40' => '137.230.209.171',
'MyRowNumber' => 3,
],
],
];
return $data;
}