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