Completed
Push — master ( 29b07a...c8cd9a )
by Mark
39s queued 32s
created

TableTest::testLoadTable()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 29
Code Lines 22

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 22
c 0
b 0
f 0
dl 0
loc 29
rs 9.568
cc 1
nc 1
nop 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
4
5
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
6
use PhpOffice\PhpSpreadsheet\Worksheet\Table;
7
use PhpOffice\PhpSpreadsheet\Worksheet\Table\TableStyle;
8
use PHPUnit\Framework\TestCase;
9
10
class TableTest extends TestCase
11
{
12
    public function testLoadTable(): void
13
    {
14
        $filename = 'tests/data/Reader/XLSX/tableTest.xlsx';
15
        $reader = new Xlsx();
16
        $spreadsheet = $reader->load($filename);
17
18
        $worksheet = $spreadsheet->getActiveSheet();
19
20
        $tables = $worksheet->getTableCollection();
21
        self::assertCount(1, $tables);
22
23
        $table = $tables->offsetGet(0);
24
        self::assertInstanceOf(Table::class, $table);
25
        self::assertEquals('SalesData', $table->getName());
26
        self::assertEquals('A1:G16', $table->getRange());
27
        self::assertTrue($table->getShowHeaderRow(), 'ShowHeaderRow');
28
        self::assertTrue($table->getShowTotalsRow(), 'ShowTotalsRow');
29
        self::assertTrue($table->getAllowFilter(), 'Allow Filter');
30
31
        self::assertEquals('Total', $table->getColumn('B')->getTotalsRowLabel());
32
        self::assertEquals('sum', $table->getColumn('G')->getTotalsRowFunction());
33
        self::assertEquals('SUM(SalesData[[#This Row],[Q1]:[Q4]])', $table->getColumn('G')->getColumnFormula());
34
35
        $tableStyle = $table->getStyle();
36
        self::assertEquals(TableStyle::TABLE_STYLE_MEDIUM4, $tableStyle->getTheme());
37
        self::assertTrue($tableStyle->getShowRowStripes(), 'ShowRowStripes');
38
        self::assertFalse($tableStyle->getShowColumnStripes(), 'ShowColumnStripes');
39
        self::assertFalse($tableStyle->getShowFirstColumn(), 'ShowFirstColumn');
40
        self::assertTrue($tableStyle->getShowLastColumn(), 'ShowLastColumn');
41
    }
42
43
    public function testLoadTableNoFilter(): void
44
    {
45
        $filename = 'tests/data/Reader/XLSX/TableWithoutFilter.xlsx';
46
        $reader = new Xlsx();
47
        $spreadsheet = $reader->load($filename);
48
49
        $worksheet = $spreadsheet->getActiveSheet();
50
51
        $tables = $worksheet->getTableCollection();
52
        self::assertCount(1, $tables);
53
54
        $table = $tables->offsetGet(0);
55
        self::assertInstanceOf(Table::class, $table);
56
        self::assertFalse($table->getAllowFilter(), 'Allow Filter');
57
    }
58
}
59