csv = new Csv(); $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 testSaveWithDosLineEnding() { $this->csv->linefeed = "\r\n"; $expected = "SMS\r\n0444\r\n5555\r\n"; $this->saveAndCompare($expected); } public function testSaveWithUnixLineEnding() { $this->csv->linefeed = "\n"; $expected = "SMS\n0444\n5555\n"; $this->saveAndCompare($expected); } public function testSaveWithoutHeader() { $this->csv->linefeed = "\n"; $this->csv->heading = false; $expected = "0444\n5555\n"; $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); } }