diff options
Diffstat (limited to 'tests/phpunit/includes/api/format')
-rw-r--r-- | tests/phpunit/includes/api/format/ApiFormatPhpTest.php | 19 | ||||
-rw-r--r-- | tests/phpunit/includes/api/format/ApiFormatTestBase.php | 22 |
2 files changed, 41 insertions, 0 deletions
diff --git a/tests/phpunit/includes/api/format/ApiFormatPhpTest.php b/tests/phpunit/includes/api/format/ApiFormatPhpTest.php new file mode 100644 index 00000000..a59983d8 --- /dev/null +++ b/tests/phpunit/includes/api/format/ApiFormatPhpTest.php @@ -0,0 +1,19 @@ +<?php + +/** + * @group API + * @group Database + * @group medium + */ +class ApiFormatPhpTest extends ApiFormatTestBase { + + function testValidPhpSyntax() { + + $data = $this->apiRequest( 'php', array( 'action' => 'query', 'meta' => 'siteinfo' ) ); + + $this->assertInternalType( 'array', unserialize( $data ) ); + $this->assertGreaterThan( 0, count( (array)$data ) ); + + } + +} diff --git a/tests/phpunit/includes/api/format/ApiFormatTestBase.php b/tests/phpunit/includes/api/format/ApiFormatTestBase.php new file mode 100644 index 00000000..153f2cf4 --- /dev/null +++ b/tests/phpunit/includes/api/format/ApiFormatTestBase.php @@ -0,0 +1,22 @@ +<?php + +abstract class ApiFormatTestBase extends ApiTestCase { + protected function apiRequest( $format, $params, $data = null ) { + $data = parent::doApiRequest( $params, $data, true ); + + $module = $data[3]; + + $printer = $module->createPrinterByName( $format ); + $printer->setUnescapeAmps( false ); + + $printer->initPrinter( false ); + + ob_start(); + $printer->execute(); + $out = ob_get_clean(); + + $printer->closePrinter(); + + return $out; + } +} |