Skip to content

Commit

Permalink
fix warning when open xlsx file with thumbnail (#2517)
Browse files Browse the repository at this point in the history
  • Loading branch information
mix5003 authored Jan 24, 2022
1 parent aa29947 commit e7b0497
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/PhpSpreadsheet/Reader/Xlsx.php
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ private function loadZipNonamespace(string $filename, string $ns): SimpleXMLElem

private const REL_TO_MAIN = [
Namespaces::PURL_OFFICE_DOCUMENT => Namespaces::PURL_MAIN,
Namespaces::THUMBNAIL => '',
];

private const REL_TO_DRAWING = [
Expand Down
2 changes: 2 additions & 0 deletions src/PhpSpreadsheet/Reader/Xlsx/Namespaces.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class Namespaces
// This one used in Reader\Xlsx\Properties
const CORE_PROPERTIES2 = 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties';

const THUMBNAIL = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail';

const THEME = 'http://schemas.openxmlformats.org/package/2006/relationships/theme';

const COMPATIBILITY = 'http://schemas.openxmlformats.org/markup-compatibility/2006';
Expand Down
62 changes: 62 additions & 0 deletions tests/PhpSpreadsheetTests/Reader/Xlsx/Issue2516Test.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php

namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;

use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PHPUnit\Framework\TestCase;

class Issue2516Test extends TestCase
{
/**
* @var string
*/
private static $testbook = 'tests/data/Reader/XLSX/issue.2516b.xlsx';

public function testPreliminaries(): void
{
$file = 'zip://';
$file .= self::$testbook;
$file .= '#docProps/thumbnail.wmf';
$data = file_get_contents($file);

// confirm that file exists
self::assertNotFalse($data, 'thumbnail.wmf not exists');

$file = 'zip://';
$file .= self::$testbook;
$file .= '#_rels/.rels';
$data = file_get_contents($file);
// confirm that file contains expected namespaced xml tag
if ($data === false) {
self::fail('Unable to read file .rels');
} else {
self::assertStringContainsString('Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail" Target="docProps/thumbnail.wmf"', $data);
}
}

public function testIssue2516a(): void
{
$filename = self::$testbook;
$reader = new Xlsx();
$names = $reader->listWorksheetNames($filename);
$expected = ['Sheet1'];
self::assertSame($expected, $names);
}

public function testIssue2516b(): void
{
$filename = self::$testbook;
$reader = new Xlsx();
$infos = $reader->listWorksheetInfo($filename);
$expected = [
[
'worksheetName' => 'Sheet1',
'lastColumnLetter' => 'B',
'lastColumnIndex' => 1,
'totalRows' => '6',
'totalColumns' => 2,
],
];
self::assertSame($expected, $infos);
}
}
Binary file added tests/data/Reader/XLSX/issue.2516b.xlsx
Binary file not shown.

0 comments on commit e7b0497

Please sign in to comment.