Merge branch 'alex-vlasov-single_quote_auto_detection'

See #74
This commit is contained in:
Christian Bläul
2018-01-21 21:47:32 +01:00
4 changed files with 28 additions and 0 deletions

View File

@@ -495,6 +495,8 @@ class parseCSV {
if (is_null($enclosure)) {
$enclosure = $this->enclosure;
} else {
$this->enclosure = $enclosure;
}
if (is_null($preferred)) {

View File

@@ -0,0 +1,3 @@
"column1","column2"
"value1","value2"
"value3","value4"
1 column1 column2
2 value1 value2
3 value3 value4

View File

@@ -0,0 +1,3 @@
'column1','column2'
'value1','value2'
'value3','value4'
1 'column1' 'column2'
2 'value1' 'value2'
3 'value3' 'value4'

View File

@@ -94,4 +94,24 @@ class ParseTest extends PHPUnit\Framework\TestCase {
],
];
}
public function autoQuotesDataProvider() {
return array(
array('tests/methods/fixtures/auto-double-enclosure.csv', '"'),
array('tests/methods/fixtures/auto-single-enclosure.csv', "'"),
);
}
/**
* @dataProvider autoQuotesDataProvider
*
* @param string $file
* @param string $enclosure
*/
public function testAutoQuotes($file, $enclosure) {
$csv = new parseCSV();
$csv->auto($file, true, null, null, $enclosure);
$this->assertArrayHasKey('column1', $csv->data[0], 'Data parsed incorrectly with enclosure ' . $enclosure);
$this->assertEquals('value1', $csv->data[0]['column1'], 'Data parsed incorrectly with enclosure ' . $enclosure);
}
}