|
2 | 2 |
|
3 | 3 | namespace PhpOffice\PhpSpreadsheetTests\Reader;
|
4 | 4 |
|
| 5 | +use PhpOffice\PhpSpreadsheet\Cell\DataType; |
5 | 6 | use PhpOffice\PhpSpreadsheet\Reader\BaseReader;
|
6 |
| -use PhpOffice\PhpSpreadsheet\Reader\Exception; |
7 | 7 | use PhpOffice\PhpSpreadsheet\Reader\Xml;
|
| 8 | +use PhpOffice\PhpSpreadsheet\Spreadsheet; |
8 | 9 | use PHPUnit_Framework_TestCase;
|
9 | 10 |
|
10 | 11 | class XEEValidatorTest extends PHPUnit_Framework_TestCase
|
11 | 12 | {
|
| 13 | + /** |
| 14 | + * @var Spreadsheet |
| 15 | + */ |
| 16 | + private $spreadsheetXEETest; |
| 17 | + |
| 18 | + /** |
| 19 | + * @return Spreadsheet |
| 20 | + */ |
| 21 | + protected function loadXEETestFile() |
| 22 | + { |
| 23 | + if (!$this->spreadsheetXEETest) { |
| 24 | + $filename = '../samples/templates/Excel2003XMLTest.xml'; |
| 25 | + |
| 26 | + // Load into this instance |
| 27 | + $reader = new Xml(); |
| 28 | + $this->spreadsheetXEETest = $reader->load($filename); |
| 29 | + } |
| 30 | + |
| 31 | + return $this->spreadsheetXEETest; |
| 32 | + } |
| 33 | + |
12 | 34 | /**
|
13 | 35 | * @dataProvider providerInvalidXML
|
14 | 36 | * @expectedException \PhpOffice\PhpSpreadsheet\Reader\Exception
|
@@ -77,4 +99,19 @@ public function providerValidXML()
|
77 | 99 |
|
78 | 100 | return $tests;
|
79 | 101 | }
|
| 102 | + |
| 103 | + /** |
| 104 | + * Check if it can read XML Hyperlink correctly. |
| 105 | + */ |
| 106 | + public function testReadHyperlinks() |
| 107 | + { |
| 108 | + $spreadsheet = $this->loadXEETestFile(); |
| 109 | + $firstSheet = $spreadsheet->getSheet(0); |
| 110 | + |
| 111 | + $hyperlink = $firstSheet->getCell('L1'); |
| 112 | + |
| 113 | + self::assertEquals(DataType::TYPE_STRING, $hyperlink->getDataType()); |
| 114 | + self::assertEquals('PhpSpreadsheet', $hyperlink->getValue()); |
| 115 | + self::assertEquals('http://phpspreadsheet.readthedocs.io/', $hyperlink->getHyperlink()->getUrl()); |
| 116 | + } |
80 | 117 | }
|
0 commit comments