/
UploadTest.php
84 lines (72 loc) · 2.02 KB
/
UploadTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
namespace Aura\Filter\Rule;
use Aura\Filter\AbstractRuleTest;
class UploadTest extends AbstractRuleTest
{
protected $expect_message = 'FILTER_RULE_FAILURE_IS_UPLOAD';
protected $good_upload = [
'error' => UPLOAD_ERR_OK,
'name' => 'file.jpg',
'size' => '1024',
'tmp_name' => '/tmp/asdfghjkl.jpg',
'type' => 'image/jpeg',
'extra_key' => 'extra',
];
protected $bad_upload_1 = [
'error' => UPLOAD_ERR_PARTIAL,
'name' => 'file.jpg',
'size' => '1024',
'tmp_name' => '/tmp/asdfghjkl.jpg',
'type' => 'image/jpeg',
'extra_key' => 'extra',
];
protected $bad_upload_2 = [
'error' => 96,
'name' => 'file.jpg',
'size' => '1024',
'tmp_name' => '/tmp/asdfghjkl.jpg',
'type' => 'image/jpeg',
'extra_key' => 'extra',
];
protected function getClass()
{
$class = parent::getClass();
$class = str_replace('Upload', 'MockUpload', $class);
return $class;
}
public function providerIs()
{
return [
[$this->good_upload],
];
}
public function providerIsNot()
{
return [
[null], // not an array,
[$this->bad_upload_1],
[$this->bad_upload_2],
];
}
public function providerFix()
{
$fixed = [
'error' => UPLOAD_ERR_OK,
'name' => 'file.jpg',
'size' => '1024',
'tmp_name' => '/tmp/asdfghjkl.jpg',
'type' => 'image/jpeg',
];
return [
[[], false, []], // can't fix
[$this->good_upload, true, $fixed],
];
}
public function testRuleIs_notUploadedFile()
{
list($data, $field) = $this->getPrep($this->good_upload);
$rule = $this->newRule($data, $field);
$rule->is_uploaded_file = false;
$this->assertFalse($rule->is());
}
}