wiki.techinc.nl/tests/phpunit/includes/api/format/ApiFormatWddxTest.php
Brad Jorsch 82fb734740 Skip ApiFormatWddxTest under HHVM
wddx_serialize_value() fails to escape the ampersand under HHVM. It has
been fixed upstream https://github.com/facebook/hhvm/issues/4283 but
has not been released yet.

When running under HHVM and detecting the ampersand is not escaped, skip
the test..

Bug: T75531
Change-Id: Ia58ec20b4daf78cd90da1bdf8af6cac86015c5d7
2014-12-18 16:57:49 +00:00

28 lines
826 B
PHP

<?php
/**
* @group API
* @group Database
* @group medium
* @covers ApiFormatWddx
*/
class ApiFormatWddxTest extends ApiFormatTestBase {
public function testValidSyntax( ) {
if ( !function_exists( 'wddx_deserialize' ) ) {
$this->markTestSkipped( "Function 'wddx_deserialize' not exist, skipping." );
}
if ( wfIsHHVM() && false === strpos( wddx_serialize_value( "Test for &" ), '&amp;' ) ) {
# Some version of HHVM fails to escape the ampersand
#
# https://phabricator.wikimedia.org/T75531
$this->markTestSkipped( "wddx_deserialize is bugged under this version of HHVM" );
}
$data = $this->apiRequest( 'wddx', array( 'action' => 'query', 'meta' => 'siteinfo' ) );
$this->assertInternalType( 'array', wddx_deserialize( $data ) );
$this->assertGreaterThan( 0, count( (array)$data ) );
}
}