'picture.jpg', 'type' => 'image/jpeg', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/picture.jpg', 'error' => 0 ); foreach ($valuesExpected as $element) { $validator = new Zend_Validate_File_IsImage($element[0]); $validator->enableHeaderCheck(); $this->assertEquals( $element[1], $validator->isValid(dirname(__FILE__) . '/_files/picture.jpg', $files), "Tested with " . var_export($element, 1) ); } } /** * Ensures that getMimeType() returns expected value * * @return void */ public function testGetMimeType() { $validator = new Zend_Validate_File_IsImage('image/gif'); $this->assertEquals('image/gif', $validator->getMimeType()); $validator = new Zend_Validate_File_IsImage(array('image/gif', 'video', 'text/test')); $this->assertEquals('image/gif,video,text/test', $validator->getMimeType()); $validator = new Zend_Validate_File_IsImage(array('image/gif', 'video', 'text/test')); $this->assertEquals(array('image/gif', 'video', 'text/test'), $validator->getMimeType(true)); } /** * Ensures that setMimeType() returns expected value * * @return void */ public function testSetMimeType() { $validator = new Zend_Validate_File_IsImage('image/gif'); $validator->setMimeType('image/jpeg'); $this->assertEquals('image/jpeg', $validator->getMimeType()); $this->assertEquals(array('image/jpeg'), $validator->getMimeType(true)); $validator->setMimeType('image/gif, text/test'); $this->assertEquals('image/gif,text/test', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text/test'), $validator->getMimeType(true)); $validator->setMimeType(array('video/mpeg', 'gif')); $this->assertEquals('video/mpeg,gif', $validator->getMimeType()); $this->assertEquals(array('video/mpeg', 'gif'), $validator->getMimeType(true)); } /** * Ensures that addMimeType() returns expected value * * @return void */ public function testAddMimeType() { $validator = new Zend_Validate_File_IsImage('image/gif'); $validator->addMimeType('text'); $this->assertEquals('image/gif,text', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text'), $validator->getMimeType(true)); $validator->addMimeType('jpg, to'); $this->assertEquals('image/gif,text,jpg,to', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text', 'jpg', 'to'), $validator->getMimeType(true)); $validator->addMimeType(array('zip', 'ti')); $this->assertEquals('image/gif,text,jpg,to,zip,ti', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text', 'jpg', 'to', 'zip', 'ti'), $validator->getMimeType(true)); $validator->addMimeType(''); $this->assertEquals('image/gif,text,jpg,to,zip,ti', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text', 'jpg', 'to', 'zip', 'ti'), $validator->getMimeType(true)); } /** * @ZF-8111 */ public function testErrorMessages() { $files = array( 'name' => 'picture.jpg', 'type' => 'image/jpeg', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/picture.jpg', 'error' => 0 ); $validator = new Zend_Validate_File_IsImage('test/notype'); $validator->enableHeaderCheck(); $this->assertFalse($validator->isValid(dirname(__FILE__) . '/_files/picture.jpg', $files)); $error = $validator->getMessages(); $this->assertTrue(array_key_exists('fileIsImageFalseType', $error)); } public function testOptionsAtConstructor() { if (!extension_loaded('fileinfo')) { $this->markTestSkipped('This PHP Version has no finfo installed'); } if (version_compare(PHP_VERSION, '5.3', '>=')) { $magicFile = dirname(__FILE__) . '/_files/magic-php53.mime'; } else { $magicFile = dirname(__FILE__) . '/_files/magic.mime'; } $validator = new Zend_Validate_File_IsImage(array( 'image/gif', 'image/jpg', 'magicfile' => $magicFile, 'headerCheck' => true)); $this->assertEquals($magicFile, $validator->getMagicFile()); $this->assertTrue($validator->getHeaderCheck()); $this->assertEquals('image/gif,image/jpg', $validator->getMimeType()); } } // Call Zend_Validate_File_IsImage::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_Validate_File_IsImage::main") { Zend_Validate_File_IsImage::main(); }