aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/mikespub/php-epub-meta/test/monocleTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/mikespub/php-epub-meta/test/monocleTest.php')
-rw-r--r--vendor/mikespub/php-epub-meta/test/monocleTest.php159
1 files changed, 0 insertions, 159 deletions
diff --git a/vendor/mikespub/php-epub-meta/test/monocleTest.php b/vendor/mikespub/php-epub-meta/test/monocleTest.php
deleted file mode 100644
index 20cc5a6c5..000000000
--- a/vendor/mikespub/php-epub-meta/test/monocleTest.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-
-use PHPUnit\Framework\TestCase;
-use SebLucas\EPubMeta\EPub;
-
-/**
- * Test for EPUB methods used by Monocle in COPS
- *
- * Source: https://github.com/mikespub-org/seblucas
- */
-class MonocleTest extends TestCase
-{
- public const TEST_EPUB = __DIR__ . '/data/eng.epub';
- public const TEST_EPUB_COPY = __DIR__ . '/data/eng.copy.epub';
- public const TEST_CONTENTS = __DIR__ . '/data/eng.contents.json';
- public const TEST_COMPONENTS = __DIR__ . '/data/eng.components.json';
- public const TEST_EPUB3 = __DIR__ . '/data/eng3.epub';
-
- private static EPub $book;
-
- public static function setUpBeforeClass(): void
- {
- // sometime I might have accidentally broken the test file
- if (filesize(static::TEST_EPUB) != 22664) {
- die('test.epub has wrong size, make sure it\'s unmodified');
- }
-
- // we work on a copy to test saving
- if (!copy(static::TEST_EPUB, static::TEST_EPUB_COPY)) {
- die('failed to create copy of the test book');
- }
-
- // @see https://github.com/sebastianbergmann/phpunit/issues/5062#issuecomment-1416362657
- set_error_handler(
- static function (int $errno, string $errstr) {
- throw new \Exception($errstr, $errno);
- },
- E_ALL
- );
-
- self::$book = new Epub(static::TEST_EPUB_COPY);
- self::$book->initSpineComponent();
- }
-
- public static function tearDownAfterClass(): void
- {
- restore_error_handler();
-
- unlink(static::TEST_EPUB_COPY);
- }
-
- public function testComponents(): void
- {
- $data = self::$book->components();
- $contents = file_get_contents(static::TEST_COMPONENTS);
- $check = json_decode($contents, true);
- $encoder = $this->provideEncodeReplace();
- $check = str_replace($encoder[0], $encoder[1], $check);
- $this->assertEquals($check, $data);
- }
-
- public function testContents(): void
- {
- $data = self::$book->contents();
- $contents = file_get_contents(static::TEST_CONTENTS);
- $check = json_decode($contents, true);
- $encoder = $this->provideEncodeReplace();
- foreach (array_keys($check) as $idx) {
- $check[$idx] = $this->encodeItem($check[$idx], $encoder);
- }
- $this->assertEquals($check, $data);
- }
-
- /**
- * Summary of testComponent
- * @param string $component
- * @return void
- */
- public function testComponent($component = 'text/titlepage.xhtml')
- {
- $data = self::$book->component($component);
- $check = 641;
- $this->assertEquals($check, strlen($data));
- }
-
- /**
- * Summary of testGetComponentName
- * @param string $component
- * @param string $element
- * @return void
- */
- public function testGetComponentName($component = 'text/titlepage.xhtml', $element = '../images/cover.jpg')
- {
- $data = self::$book->getComponentName($component, $element);
- $check = 'images~SLASH~cover.jpg';
- $this->assertEquals($check, $data);
- }
-
- /**
- * Summary of testComponentContentType
- * @param string $component
- * @return void
- */
- public function testComponentContentType($component = 'text/titlepage.xhtml')
- {
- $data = self::$book->componentContentType($component);
- $check = 'application/xhtml+xml';
- $this->assertEquals($check, $data);
- }
-
- public function testContentsEpub3(): void
- {
- $epub = new EPub(__DIR__ . '/data/eng3.epub');
- $epub->initSpineComponent();
- $data = $epub->contents();
- $contents = file_get_contents(static::TEST_CONTENTS);
- $check = json_decode($contents, true);
- $encoder = $this->provideEncodeReplace();
- foreach (array_keys($check) as $idx) {
- $check[$idx] = $this->encodeItem($check[$idx], $encoder);
- }
- $this->assertEquals($check, $data);
- }
-
- /**
- * Summary of encodeItem
- * @param array<mixed> $item
- * @param array<mixed> $encoder
- * @return array<mixed>
- */
- protected function encodeItem($item, $encoder)
- {
- $item['src'] = str_replace($encoder[0], $encoder[1], $item['src']);
- if (!empty($item['children'])) {
- foreach (array_keys($item['children']) as $idx) {
- $item['children'][$idx] = $this->encodeItem($item['children'][$idx], $encoder);
- }
- }
- return $item;
- }
-
- /**
- * Summary of provideEncodeReplace
- * @return array<mixed>
- */
- public function provideEncodeReplace()
- {
- return EPub::$encodeNameReplace;
- }
-
- /**
- * Summary of provideDecodeReplace
- * @return array<mixed>
- */
- public function provideDecodeReplace()
- {
- return EPub::$decodeNameReplace;
- }
-}