From 8dceb8e3a75282540d7dbe9dc6e26091dad71fe0 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Tue, 21 Nov 2017 14:30:26 -0800 Subject: thumbnail generator for epubs --- library/epub-meta/test/test.epub | Bin 0 -> 768780 bytes library/epub-meta/test/test.jpg | Bin 0 -> 821 bytes library/epub-meta/test/test.phpunit.php | 190 ++++++++++++++++++++++++++++++++ 3 files changed, 190 insertions(+) create mode 100644 library/epub-meta/test/test.epub create mode 100644 library/epub-meta/test/test.jpg create mode 100644 library/epub-meta/test/test.phpunit.php (limited to 'library/epub-meta/test') diff --git a/library/epub-meta/test/test.epub b/library/epub-meta/test/test.epub new file mode 100644 index 000000000..85d60aece Binary files /dev/null and b/library/epub-meta/test/test.epub differ diff --git a/library/epub-meta/test/test.jpg b/library/epub-meta/test/test.jpg new file mode 100644 index 000000000..4ca4a685c Binary files /dev/null and b/library/epub-meta/test/test.jpg differ diff --git a/library/epub-meta/test/test.phpunit.php b/library/epub-meta/test/test.phpunit.php new file mode 100644 index 000000000..88a9aa914 --- /dev/null +++ b/library/epub-meta/test/test.phpunit.php @@ -0,0 +1,190 @@ +epub = new EPub('test.copy.epub'); + } + + protected function tearDown(){ + unlink('test.copy.epub'); + } + + public function testAuthors(){ + // read curent value + $this->assertEquals( + $this->epub->Authors(), + array('Shakespeare, William' => 'William Shakespeare') + ); + + // remove value with string + $this->assertEquals( + $this->epub->Authors(''), + array() + ); + + // set single value by String + + $this->assertEquals( + $this->epub->Authors('John Doe'), + array('John Doe' => 'John Doe') + ); + + // set single value by indexed array + $this->assertEquals( + $this->epub->Authors(array('John Doe')), + array('John Doe' => 'John Doe') + ); + + // remove value with array + $this->assertEquals( + $this->epub->Authors(array()), + array() + ); + + // set single value by associative array + $this->assertEquals( + $this->epub->Authors(array('Doe, John' => 'John Doe')), + array('Doe, John' => 'John Doe') + ); + + // set multi value by string + $this->assertEquals( + $this->epub->Authors('John Doe, Jane Smith'), + array('John Doe' => 'John Doe', 'Jane Smith' => 'Jane Smith') + ); + + // set multi value by indexed array + $this->assertEquals( + $this->epub->Authors(array('John Doe', 'Jane Smith')), + array('John Doe' => 'John Doe', 'Jane Smith' => 'Jane Smith') + ); + + // set multi value by associative array + $this->assertEquals( + $this->epub->Authors(array('Doe, John' => 'John Doe', 'Smith, Jane' => 'Jane Smith')), + array('Doe, John' => 'John Doe', 'Smith, Jane' => 'Jane Smith') + ); + + // check escaping + $this->assertEquals( + $this->epub->Authors(array('Doe, John ' => 'John Doe ')), + array('Doe, John ' => 'John Doe ') + ); + } + + public function testTitle(){ + // get current value + $this->assertEquals( + $this->epub->Title(), + 'Romeo and Juliet' + ); + + // delete current value + $this->assertEquals( + $this->epub->Title(''), + '' + ); + + // get current value + $this->assertEquals( + $this->epub->Title(), + '' + ); + + // set new value + $this->assertEquals( + $this->epub->Title('Foo Bar'), + 'Foo Bar' + ); + + // check escaping + $this->assertEquals( + $this->epub->Title('Foo Bar'), + 'Foo Bar' + ); + } + + public function testSubject(){ + // get current values + $this->assertEquals( + $this->epub->Subjects(), + array('Fiction','Drama','Romance') + ); + + // delete current values with String + $this->assertEquals( + $this->epub->Subjects(''), + array() + ); + + // set new values with String + $this->assertEquals( + $this->epub->Subjects('Fiction, Drama, Romance'), + array('Fiction','Drama','Romance') + ); + + // delete current values with Array + $this->assertEquals( + $this->epub->Subjects(array()), + array() + ); + + // set new values with array + $this->assertEquals( + $this->epub->Subjects(array('Fiction','Drama','Romance')), + array('Fiction','Drama','Romance') + ); + + // check escaping + $this->assertEquals( + $this->epub->Subjects(array('Fiction','Drama ','Romance')), + array('Fiction','Drama ','Romance') + ); + } + + + public function testCover(){ + // read current cover + $cover = $this->epub->Cover(); + $this->assertEquals($cover['mime'],'image/png'); + $this->assertEquals($cover['found'],'OPS/images/cover.png'); + $this->assertEquals(strlen($cover['data']), 657911); + + // delete cover + $cover = $this->epub->Cover(''); + $this->assertEquals($cover['mime'],'image/gif'); + $this->assertEquals($cover['found'],false); + $this->assertEquals(strlen($cover['data']), 42); + + // set new cover (will return a not-found as it's not yet saved) + $cover = $this->epub->Cover('test.jpg','image/jpeg'); + $this->assertEquals($cover['mime'],'image/jpeg'); + $this->assertEquals($cover['found'],'OPS/php-epub-meta-cover.img'); + $this->assertEquals(strlen($cover['data']), 0); + + // save + $this->epub->save(); + + // read now changed cover + $cover = $this->epub->Cover(); + $this->assertEquals($cover['mime'],'image/jpeg'); + $this->assertEquals($cover['found'],'OPS/php-epub-meta-cover.img'); + $this->assertEquals(strlen($cover['data']), filesize('test.jpg')); + } +} -- cgit v1.2.3