assertInstanceOf('PhpOffice\\PhpWord\\Element\\Image', $oImage); $this->assertEquals($src, $oImage->getSource()); $this->assertEquals(md5($src), $oImage->getMediaId()); // todo: change to assertNotTrue when got upgraded to PHPUnit 4.x $this->assertEquals(false, $oImage->isWatermark()); $this->assertEquals(Image::SOURCE_LOCAL, $oImage->getSourceType()); $this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oImage->getStyle()); } /** * New instance with style */ public function testConstructWithStyle() { $src = __DIR__ . '/../_files/images/firefox.png'; $oImage = new Image( $src, array( 'width' => 210, 'height' => 210, 'alignment' => ST_Jc::CENTER, 'wrappingStyle' => \PhpOffice\PhpWord\Style\Image::WRAPPING_STYLE_BEHIND, ) ); $this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oImage->getStyle()); } /** * Valid image types */ public function testImages() { $images = array( array('mars.jpg', 'image/jpeg', 'jpg', 'imagecreatefromjpeg', 'imagejpeg'), array('mario.gif', 'image/gif', 'gif', 'imagecreatefromgif', 'imagegif'), array('firefox.png', 'image/png', 'png', 'imagecreatefrompng', 'imagepng'), array('duke_nukem.bmp', 'image/bmp', 'bmp', null, null), array('angela_merkel.tif', 'image/tiff', 'tif', null, null), ); foreach ($images as $imageData) { list($source, $type, $extension, $createFunction, $imageFunction) = $imageData; $source = __DIR__ . "/../_files/images/{$source}"; $image = new Image($source); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Image', $image); $this->assertEquals($source, $image->getSource()); $this->assertEquals(md5($source), $image->getMediaId()); $this->assertEquals($type, $image->getImageType()); $this->assertEquals($extension, $image->getImageExtension()); $this->assertEquals($createFunction, $image->getImageCreateFunction()); $this->assertEquals($imageFunction, $image->getImageFunction()); $this->assertFalse($image->isMemImage()); } } /** * Get style */ public function testStyle() { $oImage = new Image( __DIR__ . '/../_files/images/earth.jpg', array('height' => 210, 'alignment' => ST_Jc::CENTER) ); $this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oImage->getStyle()); } /** * Test invalid local image * * @expectedException \PhpOffice\PhpWord\Exception\InvalidImageException */ public function testInvalidImageLocal() { new Image(__DIR__ . '/../_files/images/thisisnotarealimage'); } /** * Test invalid PHP Image * * @expectedException \PhpOffice\PhpWord\Exception\InvalidImageException */ public function testInvalidImagePhp() { $object = new Image('test.php'); $object->getSource(); } /** * Test unsupported image * * @expectedException \PhpOffice\PhpWord\Exception\UnsupportedImageTypeException */ public function testUnsupportedImage() { $object = new Image('http://samples.libav.org/image-samples/RACECAR.BMP'); $object->getSource(); } /** * Get relation Id */ public function testRelationID() { $oImage = new Image(__DIR__ . '/../_files/images/earth.jpg', array('width' => 100)); $iVal = rand(1, 1000); $oImage->setRelationId($iVal); $this->assertEquals($iVal, $oImage->getRelationId()); } /** * Test archived image */ public function testArchivedImage() { $archiveFile = __DIR__ . '/../_files/documents/reader.docx'; $imageFile = 'word/media/image1.jpeg'; $image = new Image("zip://{$archiveFile}#{$imageFile}"); $this->assertEquals('image/jpeg', $image->getImageType()); } }