PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.0
GiveWP – Donation Plugin and Fundraising Platform v2.20.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / symfony / http-foundation / Tests / FileBagTest.php
give / vendor / symfony / http-foundation / Tests Last commit date
File 4 years ago Fixtures 4 years ago Session 4 years ago schema 4 years ago AcceptHeaderItemTest.php 4 years ago AcceptHeaderTest.php 4 years ago ApacheRequestTest.php 4 years ago BinaryFileResponseTest.php 4 years ago CookieTest.php 4 years ago ExpressionRequestMatcherTest.php 4 years ago FileBagTest.php 4 years ago HeaderBagTest.php 4 years ago IpUtilsTest.php 4 years ago JsonResponseTest.php 4 years ago ParameterBagTest.php 4 years ago RedirectResponseTest.php 4 years ago RequestMatcherTest.php 4 years ago RequestStackTest.php 4 years ago RequestTest.php 4 years ago ResponseFunctionalTest.php 4 years ago ResponseHeaderBagTest.php 4 years ago ResponseTest.php 4 years ago ResponseTestCase.php 4 years ago ServerBagTest.php 4 years ago StreamedResponseTest.php 4 years ago
FileBagTest.php
174 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Component\HttpFoundation\Tests;
13
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\HttpFoundation\File\UploadedFile;
16 use Symfony\Component\HttpFoundation\FileBag;
17
18 /**
19 * FileBagTest.
20 *
21 * @author Fabien Potencier <fabien@symfony.com>
22 * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
23 */
24 class FileBagTest extends TestCase
25 {
26 public function testFileMustBeAnArrayOrUploadedFile()
27 {
28 $this->expectException('InvalidArgumentException');
29 new FileBag(['file' => 'foo']);
30 }
31
32 public function testShouldConvertsUploadedFiles()
33 {
34 $tmpFile = $this->createTempFile();
35 $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
36
37 $bag = new FileBag(['file' => [
38 'name' => basename($tmpFile),
39 'type' => 'text/plain',
40 'tmp_name' => $tmpFile,
41 'error' => 0,
42 'size' => 100,
43 ]]);
44
45 $this->assertEquals($file, $bag->get('file'));
46 }
47
48 public function testShouldSetEmptyUploadedFilesToNull()
49 {
50 $bag = new FileBag(['file' => [
51 'name' => '',
52 'type' => '',
53 'tmp_name' => '',
54 'error' => \UPLOAD_ERR_NO_FILE,
55 'size' => 0,
56 ]]);
57
58 $this->assertNull($bag->get('file'));
59 }
60
61 public function testShouldRemoveEmptyUploadedFilesForMultiUpload()
62 {
63 $bag = new FileBag(['files' => [
64 'name' => [''],
65 'type' => [''],
66 'tmp_name' => [''],
67 'error' => [\UPLOAD_ERR_NO_FILE],
68 'size' => [0],
69 ]]);
70
71 $this->assertSame([], $bag->get('files'));
72 }
73
74 public function testShouldNotRemoveEmptyUploadedFilesForAssociativeArray()
75 {
76 $bag = new FileBag(['files' => [
77 'name' => ['file1' => ''],
78 'type' => ['file1' => ''],
79 'tmp_name' => ['file1' => ''],
80 'error' => ['file1' => \UPLOAD_ERR_NO_FILE],
81 'size' => ['file1' => 0],
82 ]]);
83
84 $this->assertSame(['file1' => null], $bag->get('files'));
85 }
86
87 public function testShouldConvertUploadedFilesWithPhpBug()
88 {
89 $tmpFile = $this->createTempFile();
90 $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
91
92 $bag = new FileBag([
93 'child' => [
94 'name' => [
95 'file' => basename($tmpFile),
96 ],
97 'type' => [
98 'file' => 'text/plain',
99 ],
100 'tmp_name' => [
101 'file' => $tmpFile,
102 ],
103 'error' => [
104 'file' => 0,
105 ],
106 'size' => [
107 'file' => 100,
108 ],
109 ],
110 ]);
111
112 $files = $bag->all();
113 $this->assertEquals($file, $files['child']['file']);
114 }
115
116 public function testShouldConvertNestedUploadedFilesWithPhpBug()
117 {
118 $tmpFile = $this->createTempFile();
119 $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
120
121 $bag = new FileBag([
122 'child' => [
123 'name' => [
124 'sub' => ['file' => basename($tmpFile)],
125 ],
126 'type' => [
127 'sub' => ['file' => 'text/plain'],
128 ],
129 'tmp_name' => [
130 'sub' => ['file' => $tmpFile],
131 ],
132 'error' => [
133 'sub' => ['file' => 0],
134 ],
135 'size' => [
136 'sub' => ['file' => 100],
137 ],
138 ],
139 ]);
140
141 $files = $bag->all();
142 $this->assertEquals($file, $files['child']['sub']['file']);
143 }
144
145 public function testShouldNotConvertNestedUploadedFiles()
146 {
147 $tmpFile = $this->createTempFile();
148 $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
149 $bag = new FileBag(['image' => ['file' => $file]]);
150
151 $files = $bag->all();
152 $this->assertEquals($file, $files['image']['file']);
153 }
154
155 protected function createTempFile()
156 {
157 return tempnam(sys_get_temp_dir().'/form_test', 'FormTest');
158 }
159
160 protected function setUp()
161 {
162 mkdir(sys_get_temp_dir().'/form_test', 0777, true);
163 }
164
165 protected function tearDown()
166 {
167 foreach (glob(sys_get_temp_dir().'/form_test/*') as $file) {
168 @unlink($file);
169 }
170
171 @rmdir(sys_get_temp_dir().'/form_test');
172 }
173 }
174