61 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | namespace PhpOffice\PhpSpreadsheetTests\Functional; | ||
|  | 
 | ||
|  | use PhpOffice\PhpSpreadsheet\Reader\Csv as CsvReader; | ||
|  | use PhpOffice\PhpSpreadsheet\Shared\File; | ||
|  | use PhpOffice\PhpSpreadsheet\Spreadsheet; | ||
|  | use PhpOffice\PhpSpreadsheet\Writer\Csv as CsvWriter; | ||
|  | use PhpOffice\PhpSpreadsheet\Writer\Exception as WriterException; | ||
|  | use PhpOffice\PhpSpreadsheetTests\Functional; | ||
|  | 
 | ||
|  | class CsvWriteTest extends Functional\AbstractFunctional | ||
|  | { | ||
|  |     public function testNotFirstSheet() | ||
|  |     { | ||
|  |         $spreadsheet = new Spreadsheet(); | ||
|  |         $sheet = $spreadsheet->getActiveSheet(); | ||
|  |         $sheet->setCellValue('A1', 'First Sheet'); | ||
|  |         $sheet = $spreadsheet->createSheet(); | ||
|  |         $sheet->setCellValue('A1', 'Second Sheet'); | ||
|  |         $sheet = $spreadsheet->createSheet(); | ||
|  |         $sheet->setCellValue('A1', 'Third Sheet'); | ||
|  |         $writer = new CsvWriter($spreadsheet); | ||
|  |         $writer->setSheetIndex(1); | ||
|  |         self::assertEquals(1, $writer->getSheetIndex()); | ||
|  |         $filename = tempnam(File::sysGetTempDir(), 'phpspreadsheet-test'); | ||
|  |         $writer->save($filename); | ||
|  |         $reader = new CsvReader(); | ||
|  |         $newspreadsheet = $reader->load($filename); | ||
|  |         unlink($filename); | ||
|  |         $sheet = $newspreadsheet->getActiveSheet(); | ||
|  |         self::assertEquals('Second Sheet', $sheet->getCell('A1')->getValue()); | ||
|  |         self::assertEquals(0, $newspreadsheet->getActiveSheetIndex()); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testWriteEmptyFileName() | ||
|  |     { | ||
|  |         $this->expectException(WriterException::class); | ||
|  |         $spreadsheet = new Spreadsheet(); | ||
|  |         $writer = new CsvWriter($spreadsheet); | ||
|  |         $filename = ''; | ||
|  |         $writer->save($filename); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function testDefaultSettings() | ||
|  |     { | ||
|  |         $spreadsheet = new Spreadsheet(); | ||
|  |         $writer = new CsvWriter($spreadsheet); | ||
|  |         self::assertEquals('"', $writer->getEnclosure()); | ||
|  |         $writer->setEnclosure('\''); | ||
|  |         self::assertEquals('\'', $writer->getEnclosure()); | ||
|  |         $writer->setEnclosure(''); | ||
|  |         self::assertEquals('"', $writer->getEnclosure()); | ||
|  |         self::assertEquals(PHP_EOL, $writer->getLineEnding()); | ||
|  |         self::assertFalse($writer->getUseBOM()); | ||
|  |         self::assertFalse($writer->getIncludeSeparatorLine()); | ||
|  |         self::assertFalse($writer->getExcelCompatibility()); | ||
|  |         self::assertEquals(0, $writer->getSheetIndex()); | ||
|  |     } | ||
|  | } |