Completed
Push — master ( c2a964...f9b1b7 )
by
unknown
36s queued 26s
created

PasswordTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 30
c 1
b 0
f 0
dl 0
loc 45
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testCorrectPassword() 0 9 1
A testDefaultPassword() 0 8 1
A testUnsupportedEncryption() 0 10 1
A testWrongPassword() 0 10 1
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xls;
4
5
use PhpOffice\PhpSpreadsheet\Reader\Exception as ReaderException;
6
use PhpOffice\PhpSpreadsheet\Reader\Xls as XlsReader;
7
use PHPUnit\Framework\TestCase;
8
9
class PasswordTest extends TestCase
10
{
11
    public function testDefaultPassword(): void
12
    {
13
        $filename = 'tests/data/Reader/XLS/pwtest.xls';
14
        $reader = new XlsReader();
15
        $spreadsheet = $reader->load($filename);
16
        $sheet = $spreadsheet->getActiveSheet();
17
        self::assertSame('x', $sheet->getCell('A1')->getValue());
18
        $spreadsheet->disconnectWorksheets();
19
    }
20
21
    public function testWrongPassword(): void
22
    {
23
        $this->expectException(ReaderException::class);
24
        $this->expectExceptionMessage('Decryption password incorrect');
25
        $filename = 'tests/data/Reader/XLS/pwtest2.xls';
26
        $reader = new XlsReader();
27
        $spreadsheet = $reader->load($filename);
28
        $sheet = $spreadsheet->getActiveSheet();
29
        self::assertSame('test2', $sheet->getCell('A1')->getValue());
30
        $spreadsheet->disconnectWorksheets();
31
    }
32
33
    public function testCorrectPassword(): void
34
    {
35
        $filename = 'tests/data/Reader/XLS/pwtest2.xls';
36
        $reader = new XlsReader();
37
        $reader->setEncryptionPassword('pwtest2');
38
        $spreadsheet = $reader->load($filename);
39
        $sheet = $spreadsheet->getActiveSheet();
40
        self::assertSame('test2', $sheet->getCell('A1')->getValue());
41
        $spreadsheet->disconnectWorksheets();
42
    }
43
44
    public function testUnsupportedEncryption(): void
45
    {
46
        $this->expectException(ReaderException::class);
47
        $this->expectExceptionMessage('Unsupported encryption algorithm');
48
        $filename = 'tests/data/Reader/XLS/pwtest3.xls';
49
        $reader = new XlsReader();
50
        $spreadsheet = $reader->load($filename);
51
        $sheet = $spreadsheet->getActiveSheet();
52
        self::assertSame('test2', $sheet->getCell('A1')->getValue());
53
        $spreadsheet->disconnectWorksheets();
54
    }
55
}
56