diff options
Diffstat (limited to 'bin/wiki/vendor/addwiki/mediawiki-api-base/tests/Unit/MultipartRequestTest.php')
-rw-r--r-- | bin/wiki/vendor/addwiki/mediawiki-api-base/tests/Unit/MultipartRequestTest.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/bin/wiki/vendor/addwiki/mediawiki-api-base/tests/Unit/MultipartRequestTest.php b/bin/wiki/vendor/addwiki/mediawiki-api-base/tests/Unit/MultipartRequestTest.php new file mode 100644 index 00000000..993c29e8 --- /dev/null +++ b/bin/wiki/vendor/addwiki/mediawiki-api-base/tests/Unit/MultipartRequestTest.php @@ -0,0 +1,44 @@ +<?php + +namespace Mediawiki\Api\Test\Unit; + +use Exception; +use Mediawiki\Api\MultipartRequest; +use PHPUnit_Framework_TestCase; + +class MultipartRequestTest extends PHPUnit_Framework_TestCase { + + public function testBasics() { + $request = new MultipartRequest(); + $this->assertEquals( [], $request->getMultipartParams() ); + + // One parameter. + $request->setParam( 'testparam', 'value' ); + $request->addMultipartParams( [ 'testparam' => [ 'lorem' => 'ipsum' ] ] ); + $this->assertEquals( + [ 'testparam' => [ 'lorem' => 'ipsum' ] ], + $request->getMultipartParams() + ); + + // Another parameter. + $request->setParam( 'testparam2', 'value' ); + $request->addMultipartParams( [ 'testparam2' => [ 'lorem2' => 'ipsum2' ] ] ); + $this->assertEquals( + [ + 'testparam' => [ 'lorem' => 'ipsum' ], + 'testparam2' => [ 'lorem2' => 'ipsum2' ], + ], + $request->getMultipartParams() + ); + } + + /** + * You are not allowed to set multipart parameters on a parameter that doesn't exist. + * @expectedException Exception + * @expectedExceptionMessage Parameter 'testparam' is not already set on this request. + */ + public function testParamNotYetSet() { + $request = new MultipartRequest(); + $request->addMultipartParams( [ 'testparam' => [] ] ); + } +} |