Passed
Pull Request — master (#4185)
by Owen
15:32
created

BinderTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 32
dl 0
loc 41
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A testLoadFromString() 0 39 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpOffice\PhpSpreadsheetTests\Reader\Csv;
6
7
use PhpOffice\PhpSpreadsheet\Cell\DataType;
8
use PhpOffice\PhpSpreadsheet\Cell\StringValueBinder;
9
use PhpOffice\PhpSpreadsheet\Reader\Csv;
10
use PHPUnit\Framework\TestCase;
11
12
class BinderTest extends TestCase
13
{
14
    public function testLoadFromString(): void
15
    {
16
        $data = <<<EOF
17
            1,2,3
18
            4,5,6
19
            EOF;
20
        $reader1 = new Csv();
21
        $spreadsheet1 = $reader1->loadSpreadsheetFromString($data);
22
        $sheet1 = $spreadsheet1->getActiveSheet();
23
        $sheet1->getCell('A3')->setValueExplicit(7, DataType::TYPE_STRING);
24
        $sheet1->getCell('B3')->setValueExplicit(8, DataType::TYPE_NUMERIC);
25
        $sheet1->setCellValue('C3', 9);
26
        $sheet1->fromArray([10, 11, 12], null, 'A4');
27
        $expected1 = [
28
            [1, 2, 3],
29
            [4, 5, 6],
30
            ['7', 8, 9],
31
            [10, 11, 12],
32
        ];
33
        self::AssertSame($expected1, $sheet1->toArray(null, false, false));
34
35
        $reader2 = new Csv();
36
        $reader2->setValueBinder(new StringValueBinder());
37
        $spreadsheet2 = $reader2->loadSpreadsheetFromString($data);
38
        $sheet2 = $spreadsheet2->getActiveSheet();
39
        $sheet2->getCell('A3')->setValueExplicit(7, DataType::TYPE_STRING);
40
        $sheet2->getCell('B3')->setValueExplicit(8, DataType::TYPE_NUMERIC);
41
        $sheet2->setCellValue('C3', 9);
42
        $sheet2->fromArray([10, 11, 12], null, 'A4');
43
        $expected2 = [
44
            ['1', '2', '3'],
45
            ['4', '5', '6'],
46
            ['7', 8, '9'],
47
            ['10', '11', '12'],
48
        ];
49
        self::AssertSame($expected2, $sheet2->toArray(null, false, false));
50
51
        $spreadsheet1->disconnectWorksheets();
52
        $spreadsheet2->disconnectWorksheets();
53
    }
54
}
55