From 4e4fa436faee38553c57a013532199637883419b Mon Sep 17 00:00:00 2001 From: X! Date: Mon, 3 Jan 2011 21:36:49 +0000 Subject: [PATCH] Add API format testing --- tests/phpunit/includes/api/ApiSetup.php | 4 ++- .../includes/api/format/ApiFormatPhpTest.php | 26 +++++++++++++++++ .../includes/api/format/ApiFormatTestBase.php | 28 +++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 tests/phpunit/includes/api/format/ApiFormatPhpTest.php create mode 100644 tests/phpunit/includes/api/format/ApiFormatTestBase.php diff --git a/tests/phpunit/includes/api/ApiSetup.php b/tests/phpunit/includes/api/ApiSetup.php index f7b6f3fe1e..4459a88d9d 100644 --- a/tests/phpunit/includes/api/ApiSetup.php +++ b/tests/phpunit/includes/api/ApiSetup.php @@ -17,7 +17,7 @@ abstract class ApiTestSetup extends MediaWikiTestCase { $this->setupUser(); } - protected function doApiRequest( $params, $data = null ) { + protected function doApiRequest( $params, $data = null, $appendModule = false ) { $_SESSION = isset( $data[2] ) ? $data[2] : array(); $req = new FauxRequest( $params, true, $_SESSION ); @@ -27,6 +27,8 @@ abstract class ApiTestSetup extends MediaWikiTestCase { $data[0] = $module->getResultData(); $data[1] = $req; $data[2] = $_SESSION; + + if( $appendModule ) $data[3] = $module; return $data; } diff --git a/tests/phpunit/includes/api/format/ApiFormatPhpTest.php b/tests/phpunit/includes/api/format/ApiFormatPhpTest.php new file mode 100644 index 0000000000..fb894220b1 --- /dev/null +++ b/tests/phpunit/includes/api/format/ApiFormatPhpTest.php @@ -0,0 +1,26 @@ +doLogin(); + }*/ + + + 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 0000000000..96800c5756 --- /dev/null +++ b/tests/phpunit/includes/api/format/ApiFormatTestBase.php @@ -0,0 +1,28 @@ +createPrinterByName( $format ); + $printer->setUnescapeAmps(false); + + $printer->initPrinter(false, true); + + ob_start(); + $printer->execute(); + $out = ob_get_clean(); + + $printer->closePrinter(); + + return $out; + } + +} + -- 2.20.1