From 82fb7347408567681d3eb9b16d7813ff6fa21579 Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Tue, 16 Dec 2014 11:52:52 -0500 Subject: [PATCH] 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 --- tests/phpunit/includes/api/format/ApiFormatWddxTest.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/phpunit/includes/api/format/ApiFormatWddxTest.php b/tests/phpunit/includes/api/format/ApiFormatWddxTest.php index 51708561ae..c00545f8eb 100644 --- a/tests/phpunit/includes/api/format/ApiFormatWddxTest.php +++ b/tests/phpunit/includes/api/format/ApiFormatWddxTest.php @@ -13,6 +13,13 @@ class ApiFormatWddxTest extends ApiFormatTestBase { $this->markTestSkipped( "Function 'wddx_deserialize' not exist, skipping." ); } + if ( wfIsHHVM() && false === strpos( wddx_serialize_value( "Test for &" ), '&' ) ) { + # 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 ) ); -- 2.20.1