getMethod($name); $method->setAccessible(true); return $method; } /** * @dataProvider providerBuildDataPart */ public function testBuildDataPart($part, $expected, $ex) { if ($ex) $this->setExpectedException($ex); $this->assertEquals( $expected, self::getMethod('buildDataPart')->invokeArgs(null, array($part)) ); } public function providerBuildDataPart() { return array( array(null, null, 'Exception'), array( array('name' => 'foo', 'data' => 1), "Content-Disposition: form-data; name=\"foo\"\r\n\r\n1\r\n", null ) ); } /** * @dataProvider providerBuildFilePart */ public function testBuildFilePart($part, $expected, $ex) { if ($ex) $this->setExpectedException($ex); $this->assertEquals( $expected, self::getMethod('buildFilePart')->invokeArgs(null, array($part)) ); } public function providerBuildFilePart() { return array( array(null, null, 'Exception'), array( array( 'name' => 'foo', 'filename' => 'somename.txt', 'mimetype' => 'text/plain', 'charset' => 'utf-8', 'encoding' => null, 'data' => "blah blah blah\nblah blah blah" ), "Content-Disposition: form-data; name=\"foo\"; filename=\"somename.txt\"\r\nContent-Type: text/plain; charset=\"utf-8\"\r\n\r\nblah blah blah\nblah blah blah\r\n", null ), array( array( 'name' => 'foo', 'filename' => 'somename.png', 'mimetype' => 'image/png', 'charset' => null, 'encoding' => 'binary', 'data' => "blah blah blah\nblah blah blah" ), "Content-Disposition: form-data; name=\"foo\"; filename=\"somename.png\"\r\nContent-Type: image/png\r\n\r\nblah blah blah\nblah blah blah\r\n", null ), array( array( 'name' => 'foo', 'filename' => 'somename.png', 'mimetype' => 'image/png', 'charset' => null, 'encoding' => 'base64', 'data' => "blah blah blah\nblah blah blah" ), "Content-Disposition: form-data; name=\"foo\"; filename=\"somename.png\"\r\nContent-Type: image/png\r\n\r\nYmxhaCBibGFoIGJsYWgKYmxhaCBibGFoIGJsYWg=\r\n", null ) ); } } ?>