Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/aphront/multipartparser/__tests__/AphrontMultipartParserTestCase.php
12241 views
1
<?php
2
3
final class AphrontMultipartParserTestCase extends PhutilTestCase {
4
5
public function testParser() {
6
$map = array(
7
array(
8
'data' => 'simple.txt',
9
'variables' => array(
10
array('a', 'b'),
11
),
12
),
13
);
14
15
$data_dir = dirname(__FILE__).'/data/';
16
foreach ($map as $test_case) {
17
$data = Filesystem::readFile($data_dir.$test_case['data']);
18
$data = str_replace("\n", "\r\n", $data);
19
20
$parser = id(new AphrontMultipartParser())
21
->setContentType('multipart/form-data; boundary=ABCDEFG');
22
$parser->beginParse();
23
$parser->continueParse($data);
24
$parts = $parser->endParse();
25
26
$variables = array();
27
foreach ($parts as $part) {
28
if (!$part->isVariable()) {
29
continue;
30
}
31
32
$variables[] = array(
33
$part->getName(),
34
$part->getVariableValue(),
35
);
36
}
37
38
$expect_variables = idx($test_case, 'variables', array());
39
$this->assertEqual($expect_variables, $variables);
40
}
41
}
42
43
44
45
}
46
47