/**
  * Ensures that the validator follows expected behavior
  *
  * @return void
  */
 public function testBasic()
 {
     $valuesExpected = array(array('mo', false), array('gif', true), array(array('mo'), false), array(array('gif'), true), array(array('gif', 'pdf', 'mo', 'pict'), false), array(array('gif', 'gz', 'hint'), true));
     foreach ($valuesExpected as $element) {
         $validator = new File\ExcludeExtension($element[0]);
         $this->assertEquals($element[1], $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo'), "Tested with " . var_export($element, 1));
     }
     $validator = new File\ExcludeExtension('mo');
     $this->assertEquals(false, $validator->isValid(dirname(__FILE__) . '/_files/nofile.mo'));
     $this->assertTrue(array_key_exists('fileExcludeExtensionNotFound', $validator->getMessages()));
     $files = array('name' => 'test1', 'type' => 'text', 'size' => 200, 'tmp_name' => 'tmp_test1', 'error' => 0);
     $validator = new File\ExcludeExtension('mo');
     $this->assertEquals(false, $validator->isValid(dirname(__FILE__) . '/_files/nofile.mo', $files));
     $this->assertTrue(array_key_exists('fileExcludeExtensionNotFound', $validator->getMessages()));
     $files = array('name' => 'testsize.mo', 'type' => 'text', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo', 'error' => 0);
     $validator = new File\ExcludeExtension('mo');
     $this->assertEquals(false, $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo', $files));
     $this->assertTrue(array_key_exists('fileExcludeExtensionFalse', $validator->getMessages()));
     $files = array('name' => 'testsize.mo', 'type' => 'text', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo', 'error' => 0);
     $validator = new File\ExcludeExtension('gif');
     $this->assertEquals(true, $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo', $files));
 }
 /**
  * @group ZF-11258
  */
 public function testZF11258()
 {
     $validator = new File\ExcludeExtension('mo');
     $this->assertEquals(false, $validator->isValid(__DIR__ . '/_files/nofile.mo'));
     $this->assertTrue(array_key_exists('fileExcludeExtensionNotFound', $validator->getMessages()));
     $this->assertContains("does not exist", current($validator->getMessages()));
 }
 public function testEmptyFileShouldReturnFalseAndDisplayNotFoundMessage()
 {
     $validator = new File\ExcludeExtension('12345');
     $this->assertFalse($validator->isValid(''));
     $this->assertArrayHasKey(File\ExcludeExtension::NOT_FOUND, $validator->getMessages());
     $filesArray = array('name' => '', 'size' => 0, 'tmp_name' => '', 'error' => UPLOAD_ERR_NO_FILE, 'type' => '');
     $this->assertFalse($validator->isValid($filesArray));
     $this->assertArrayHasKey(File\ExcludeExtension::NOT_FOUND, $validator->getMessages());
 }