Completed
Push — master ( 3090c1...7517cd )
by Adrien
12:19
created

CsvWriteTest::testDefaultSettings()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 12
nc 1
nop 0
dl 0
loc 14
rs 9.8666
c 1
b 0
f 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Functional;
4
5
use PhpOffice\PhpSpreadsheet\Reader\Csv as CsvReader;
6
use PhpOffice\PhpSpreadsheet\Shared\File;
7
use PhpOffice\PhpSpreadsheet\Spreadsheet;
8
use PhpOffice\PhpSpreadsheet\Writer\Csv as CsvWriter;
9
use PhpOffice\PhpSpreadsheet\Writer\Exception as WriterException;
10
use PhpOffice\PhpSpreadsheetTests\Functional;
11
12
class CsvWriteTest extends Functional\AbstractFunctional
13
{
14
    public function testNotFirstSheet()
15
    {
16
        $spreadsheet = new Spreadsheet();
17
        $sheet = $spreadsheet->getActiveSheet();
18
        $sheet->setCellValue('A1', 'First Sheet');
19
        $sheet = $spreadsheet->createSheet();
20
        $sheet->setCellValue('A1', 'Second Sheet');
21
        $sheet = $spreadsheet->createSheet();
22
        $sheet->setCellValue('A1', 'Third Sheet');
23
        $writer = new CsvWriter($spreadsheet);
24
        $writer->setSheetIndex(1);
25
        self::assertEquals(1, $writer->getSheetIndex());
26
        $filename = tempnam(File::sysGetTempDir(), 'phpspreadsheet-test');
27
        $writer->save($filename);
28
        $reader = new CsvReader();
29
        $newspreadsheet = $reader->load($filename);
30
        unlink($filename);
31
        $sheet = $newspreadsheet->getActiveSheet();
32
        self::assertEquals('Second Sheet', $sheet->getCell('A1')->getValue());
33
        self::assertEquals(0, $newspreadsheet->getActiveSheetIndex());
34
    }
35
36
    public function testWriteEmptyFileName()
37
    {
38
        $this->expectException(WriterException::class);
39
        $spreadsheet = new Spreadsheet();
40
        $writer = new CsvWriter($spreadsheet);
41
        $filename = '';
42
        $writer->save($filename);
43
    }
44
45
    public function testDefaultSettings()
46
    {
47
        $spreadsheet = new Spreadsheet();
48
        $writer = new CsvWriter($spreadsheet);
49
        self::assertEquals('"', $writer->getEnclosure());
50
        $writer->setEnclosure('\'');
51
        self::assertEquals('\'', $writer->getEnclosure());
52
        $writer->setEnclosure('');
53
        self::assertEquals('"', $writer->getEnclosure());
54
        self::assertEquals(PHP_EOL, $writer->getLineEnding());
55
        self::assertFalse($writer->getUseBOM());
56
        self::assertFalse($writer->getIncludeSeparatorLine());
57
        self::assertFalse($writer->getExcelCompatibility());
58
        self::assertEquals(0, $writer->getSheetIndex());
59
    }
60
}
61