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')); } }