Path: blob/master/src/aphront/multipartparser/__tests__/AphrontMultipartParserTestCase.php
12241 views
<?php12final class AphrontMultipartParserTestCase extends PhutilTestCase {34public function testParser() {5$map = array(6array(7'data' => 'simple.txt',8'variables' => array(9array('a', 'b'),10),11),12);1314$data_dir = dirname(__FILE__).'/data/';15foreach ($map as $test_case) {16$data = Filesystem::readFile($data_dir.$test_case['data']);17$data = str_replace("\n", "\r\n", $data);1819$parser = id(new AphrontMultipartParser())20->setContentType('multipart/form-data; boundary=ABCDEFG');21$parser->beginParse();22$parser->continueParse($data);23$parts = $parser->endParse();2425$variables = array();26foreach ($parts as $part) {27if (!$part->isVariable()) {28continue;29}3031$variables[] = array(32$part->getName(),33$part->getVariableValue(),34);35}3637$expect_variables = idx($test_case, 'variables', array());38$this->assertEqual($expect_variables, $variables);39}40}41424344}454647