Example #1
0
 function testFile()
 {
     $uf = new \Symfony\Component\HttpFoundation\File\UploadedFile(__FILE__, 'hello.txt');
     $el = new Element\File('image', 'Изображение');
     $el->setIsRequired(true);
     $this->assertFalse($el->validate(null), 'Файл обязателен для загрузки');
     $this->assertEquals('Обязательное поле "Изображение" не заполнено', $el->getErrors(' '), 'Текст Ошибки');
     $this->assertEmpty($el->getValue(), 'Файл не загружен');
     $el->validate($uf);
     $this->assertEquals($uf, $el->getValue(), 'Значение поля - загруженный файл');
     $this->assertEquals('txt', $el->getExtension(), 'Расширение загруженного файла');
     $this->assertEquals('hello.txt', $el->getFilename(), 'Расширение загруженного файла');
     $f = new \Symfony\Component\HttpFoundation\File\File(__FILE__);
     $el->validate($f);
     $this->assertEquals('php', $el->getExtension(), 'Расширение файла');
     $this->assertEquals('ElementTest.php', $el->getFilename(), 'Расширение загруженного файла');
     try {
         $el->validate('ololo');
         $this->fail('Ожидаемое исключение');
     } catch (Form\Exception $e) {
         $this->assertEquals(Form\Exception::VALUE_IS_NOT_FILE, $e->getCode(), 'Код исключения');
     }
 }