Skip to content

Commit 92e13e2

Browse files
committed
tests for uploaded files
1 parent 52320e6 commit 92e13e2

File tree

2 files changed

+47
-6
lines changed

2 files changed

+47
-6
lines changed

tests/Http/ServerRequestTest.php

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
namespace Valar\Test\Http;
77

88
use Mvc5\Cookie\HttpCookies;
9-
use Valar\Http\ServerRequest;
109
use PHPUnit\Framework\TestCase;
10+
use Psr\Http\Message\UploadedFileInterface;
11+
use Valar\Http\ServerRequest;
1112

1213
class ServerRequestTest
1314
extends TestCase
@@ -117,6 +118,33 @@ function test_get_uploaded_files()
117118
$this->assertEquals(['foo' => 'bar'], $request->getUploadedFiles());
118119
}
119120

121+
/**
122+
*
123+
*/
124+
function test_get_uploaded_files_from_super_global()
125+
{
126+
$_FILES = [
127+
'foo' => [
128+
'name' => 'foo.txt',
129+
'type' => 'text/plain',
130+
'tmp_name' => '/tmp/f2hj0p',
131+
'error' => 0,
132+
'size' => 10,
133+
]
134+
];
135+
136+
$request = new ServerRequest;
137+
138+
/** @var UploadedFileInterface $file */
139+
$file = $request->getUploadedFiles()['foo'];
140+
141+
$this->assertInstanceOf(UploadedFileInterface::class, $file);
142+
$this->assertEquals('foo.txt', $file->getClientFilename());
143+
$this->assertEquals('text/plain', $file->getClientMediaType());
144+
$this->assertEquals(0, $file->getError());
145+
$this->assertEquals(10, $file->getSize());
146+
}
147+
120148
/**
121149
*
122150
*/

tests/Plugin/FilesTest.php

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
use Mvc5\App;
99
use PHPUnit\Framework\TestCase;
10+
use Psr\Http\Message\UploadedFileInterface;
1011
use Valar\Plugin\Files;
1112
use Valar\ServerRequest;
12-
use Zend\Diactoros\UploadedFile;
1313

1414
class FilesTest
1515
extends TestCase
@@ -19,9 +19,15 @@ class FilesTest
1919
*/
2020
function test()
2121
{
22-
$file = new UploadedFile('foobar', 10, 0);
23-
24-
$GLOBALS['_FILES'] = ['foo' => $file];
22+
$_FILES = [
23+
'foo' => [
24+
'name' => 'foo.txt',
25+
'type' => 'text/plain',
26+
'tmp_name' => '/tmp/f2hj0p',
27+
'error' => 0,
28+
'size' => 10,
29+
]
30+
];
2531

2632
$plugins = ['files' => new Files];
2733

@@ -30,6 +36,13 @@ function test()
3036
$request = new ServerRequest($config);
3137
$config->scope($request);
3238

33-
$this->assertEquals($file, $request->getUploadedFiles()['foo']);
39+
/** @var UploadedFileInterface $file */
40+
$file = $request->getUploadedFiles()['foo'];
41+
42+
$this->assertInstanceOf(UploadedFileInterface::class, $file);
43+
$this->assertEquals('foo.txt', $file->getClientFilename());
44+
$this->assertEquals('text/plain', $file->getClientMediaType());
45+
$this->assertEquals(0, $file->getError());
46+
$this->assertEquals(10, $file->getSize());
3447
}
3548
}

0 commit comments

Comments
 (0)