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

PasswordTest::testUnsupportedEncryption()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 10
rs 10
cc 1
nc 1
nop 0
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