From b3eb5baa0d47e8569c6591b7349cbe7a160696d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ewilan=20Rivi=C3=A8re?= Date: Thu, 22 Jun 2023 14:31:21 +0200 Subject: [PATCH] 1.3.32 - limit length fix bug --- composer.json | 2 +- src/Ebook.php | 6 +++++- tests/EpubTest.php | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 6a36aa5..451825e 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "kiwilan/php-ebook", "description": "PHP package to read metadata and extract covers from eBooks (.epub, .cbz, .cbr, .cb7, .cbt, .pdf) and audiobooks (.mp3, .m4a, .m4b, .flac, .ogg).", - "version": "1.3.31", + "version": "1.3.32", "keywords": [ "php", "ebook", diff --git a/src/Ebook.php b/src/Ebook.php index 380a4db..85acc89 100755 --- a/src/Ebook.php +++ b/src/Ebook.php @@ -526,8 +526,12 @@ public function hasCover(): bool return $this->cover !== null; } - private function limitLength(string $string, int $length): string + private function limitLength(?string $string, int $length): ?string { + if (! $string) { + return null; + } + if (mb_strlen($string) <= $length) { return $string; } diff --git a/tests/EpubTest.php b/tests/EpubTest.php index fe1ecc4..f3d9726 100644 --- a/tests/EpubTest.php +++ b/tests/EpubTest.php @@ -21,8 +21,9 @@ expect($ebook->authorMain()->name())->toBe('Jean M. Auel'); expect($ebook->authors())->toBeArray(); expect($firstAuthor->name())->toBe('Jean M. Auel'); - expect($ebook->description())->toBeString(); - expect($ebook->copyright())->toBe('Copyright © 1980 by Jean M. Auel'); + expect($ebook->description(1500))->toBeString(); + expect($ebook->copyright(255))->toBe('Copyright © 1980 by Jean M. Auel'); + expect($ebook->copyright(10))->toBe('Copyright…'); expect($ebook->publisher())->toBe('Hodder & Stoughton'); expect($ebook->identifiers())->toBeArray(); expect($ebook->identifiers()['google']->value())->toBe('ASvHBAAAQBAJ');