Completed
Push — develop ( 0bd3a9...3ee9cc )
by Adrien
26:43
created

CsvTest::testDelimiterDetection()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 8
nc 1
nop 0
dl 0
loc 13
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Reader;
4
5
use PhpOffice\PhpSpreadsheet\Shared\File;
6
use PhpOffice\PhpSpreadsheet\Spreadsheet;
7
8
class CsvTest extends \PHPUnit_Framework_TestCase
9
{
10
    public function testEnclosure()
11
    {
12
        $value = '<img alt="" src="http://example.com/image.jpg" />';
13
        $filename = tempnam(File::sysGetTempDir(), 'phpspreadsheet');
14
15
        // Write temp file with value
16
        $spreadsheet = new Spreadsheet();
17
        $spreadsheet->getActiveSheet()->getCell('A1')->setValue($value);
18
        $writer = new \PhpOffice\PhpSpreadsheet\Writer\Csv($spreadsheet);
19
        $writer->save($filename);
20
21
        // Read written file
22
        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
23
        $reloadedSpreadsheet = $reader->load($filename);
24
        $actual = $reloadedSpreadsheet->getActiveSheet()->getCell('A1')->getCalculatedValue();
25
        $this->assertSame($value, $actual, 'should be able to write and read strings with multiples quotes');
26
    }
27
28
    public function testDelimiterDetection()
29
    {
30
        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
31
        $this->assertNull($reader->getDelimiter());
32
33
        $filename = __DIR__ . '/../../data/Reader/CSV/semicolon_separated.csv';
34
        $spreadsheet = $reader->load($filename);
35
36
        $this->assertSame(';', $reader->getDelimiter(), 'should be able to infer the delimiter');
37
38
        $actual = $spreadsheet->getActiveSheet()->getCell('C2')->getValue();
39
        $this->assertSame('25,5', $actual, 'should be able to retrieve values with commas');
40
    }
41
}
42