public function _before()
{
$this->markTestSkipped('Mocking up php functions doesnt work for zephir extensions.');
$_FILES = ['photo' => ['name' => ['f0', 'f1', ['f2', 'f3'], [[[['f4']]]]], 'type' => ['text/plain', 'text/csv', ['image/png', 'image/jpeg'], [[[['application/octet-stream']]]]], 'tmp_name' => ['t0', 't1', ['t2', 't3'], [[[['t4']]]]], 'error' => [0, 0, [0, 0], [[[[8]]]]], 'size' => [10, 20, [30, 40], [[[[50]]]]]]];
$request = new Request();
$request->setDI($this->tester->getApplication()->getDI());
$uploadedFiles = $request->getUploadedFiles();
$files = [];
/** @var Request\File $file */
foreach ($uploadedFiles as $file) {
$files[] = ['name' => $file->getName(), 'tmp_name' => $file->getTempName(), 'type' => $file->getType(), 'size' => $file->getSize(), 'error' => $file->getError()];
}
$this->files = $files;
Test::func('Phalcon\\Validation\\Validator', 'getimagesize', function ($tmpName) {
$tmpSizes = ['t0' => null, 't1' => null, 't2' => [500, 500], 't3' => [1000, 1000], 't4' => null];
return $tmpSizes[$tmpName];
});
Test::func('Phalcon\\Validation\\Validator', 'finfo_open', function ($mimeType) {
return null;
});
Test::func('Phalcon\\Validation\\Validator', 'finfo_file', function ($tmp, $tmpName) {
$tmpTypes = ['t0' => 'text/plain', 't1' => 'text/csv', 't2' => 'image/png', 't3' => 'image/jpeg', 't4' => 'application/octet-stream'];
return $tmpTypes[$tmpName];
});
Test::func('Phalcon\\Validation\\Validator', 'is_uploaded_file', function ($tmpName) {
return true;
});
Test::func('Phalcon\\Validation\\Validator', 'finfo_close', function ($tmp, $tmpName) {
});
$_SERVER["REQUEST_METHOD"] = "POST";
}