PhpSpreadsheet/tests/PhpSpreadsheetTests/Writer/Csv/CsvWriteTest.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(): void
{
$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(): void
{
$this->expectException(WriterException::class);
$spreadsheet = new Spreadsheet();
$writer = new CsvWriter($spreadsheet);
$filename = '';
$writer->save($filename);
}
public function testDefaultSettings(): void
{
$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());
}
}