Phalcon\Test\Unit\Http\RequestTest::testGetUploadedFiles PHP Method

testGetUploadedFiles() public method

Tests uploaded files
Since: 2016-01-31
Author: Serghei Iakovelv ([email protected])
    public function testGetUploadedFiles()
    {
        $this->specify("Request does not handle uploaded files correctly", function () {
            $request = $this->getRequestObject();
            $_FILES = ['photo' => ['name' => ['f0', 'f1', ['f2', 'f3'], [[[['f4']]]]], 'type' => ['text/plain', 'text/csv', ['image/png', 'image/gif'], [[[['application/octet-stream']]]]], 'tmp_name' => ['t0', 't1', ['t2', 't3'], [[[['t4']]]]], 'error' => [0, 0, [0, 0], [[[[8]]]]], 'size' => [10, 20, [30, 40], [[[[50]]]]]]];
            $all = $request->getUploadedFiles(false);
            $successful = $request->getUploadedFiles(true);
            expect($all)->count(5);
            expect($successful)->count(4);
            for ($i = 0; $i <= 4; ++$i) {
                expect($all[$i]->isUploadedFile())->false();
            }
            $data = ['photo.0', 'photo.1', 'photo.2.0', 'photo.2.1', 'photo.3.0.0.0.0'];
            for ($i = 0; $i <= 4; ++$i) {
                expect($all[$i]->getKey())->equals($data[$i]);
            }
            expect($all[0]->getName())->equals('f0');
            expect($all[1]->getName())->equals('f1');
            expect($all[2]->getName())->equals('f2');
            expect($all[3]->getName())->equals('f3');
            expect($all[4]->getName())->equals('f4');
            expect($all[0]->getTempName())->equals('t0');
            expect($all[1]->getTempName())->equals('t1');
            expect($all[2]->getTempName())->equals('t2');
            expect($all[3]->getTempName())->equals('t3');
            expect($all[4]->getTempName())->equals('t4');
            expect($successful[0]->getName())->equals('f0');
            expect($successful[1]->getName())->equals('f1');
            expect($successful[2]->getName())->equals('f2');
            expect($successful[3]->getName())->equals('f3');
            expect($successful[0]->getTempName())->equals('t0');
            expect($successful[1]->getTempName())->equals('t1');
            expect($successful[2]->getTempName())->equals('t2');
            expect($successful[3]->getTempName())->equals('t3');
        });
    }