mirror of
https://github.com/parsecsv/parsecsv-for-php.git
synced 2026-02-19 08:36:39 +00:00
Added SaveTest for coverage of writing files
This commit is contained in:
46
tests/methods/SaveTest.php
Normal file
46
tests/methods/SaveTest.php
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class SaveTest extends PHPUnit\Framework\TestCase {
|
||||||
|
|
||||||
|
/** @var parseCSV */
|
||||||
|
private $csv;
|
||||||
|
|
||||||
|
private $temp_filename;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup our test environment objects; will be called before each test.
|
||||||
|
*/
|
||||||
|
public function setUp() {
|
||||||
|
$this->csv = new parseCSV();
|
||||||
|
$this->csv->auto(__DIR__ . '/../example_files/single_column.csv');
|
||||||
|
|
||||||
|
// Remove last 2 lines to simplify comparison
|
||||||
|
unset($this->csv->data[2], $this->csv->data[3]);
|
||||||
|
|
||||||
|
$temp_dir = str_replace("\\", '/', sys_get_temp_dir());
|
||||||
|
if (substr($temp_dir, -1) != '/') {
|
||||||
|
// From the PHP.net documentation:
|
||||||
|
// This function does not always add trailing slash. This behaviour
|
||||||
|
// is inconsistent across systems.
|
||||||
|
$temp_dir .= '/';
|
||||||
|
}
|
||||||
|
$this->temp_filename = $temp_dir . 'parsecsv_test_file.csv';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testSaveWithDefaultSettings() {
|
||||||
|
$expected = "SMS\r0444\r5555\r";
|
||||||
|
$this->saveAndCompare($expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAllQuotes() {
|
||||||
|
$this->csv->enclose_all = true;
|
||||||
|
$expected = "\"SMS\"\r\"0444\"\r\"5555\"\r";
|
||||||
|
$this->saveAndCompare($expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function saveAndCompare($expected) {
|
||||||
|
$this->csv->save($this->temp_filename);
|
||||||
|
$content = file_get_contents($this->temp_filename);
|
||||||
|
$this->assertEquals($expected, $content);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user