Merge pull request #6312 from annando/check-json

Checks if JSON is enabled
This commit is contained in:
Hypolite Petovan 2018-12-23 18:53:32 -05:00 committed by GitHub
commit a16e8d97f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View File

@ -440,6 +440,13 @@ class Installer
);
$returnVal = $returnVal ? $status : false;
$status = $this->checkFunction('json_encode',
L10n::t('JSON PHP module'),
L10n::t('Error: JSON PHP module required but not installed.'),
true
);
$returnVal = $returnVal ? $status : false;
return $returnVal;
}

View File

@ -43,6 +43,8 @@ class InstallerTest extends MockedTest
$this->mockL10nT('Error: iconv PHP module required but not installed.', 1);
$this->mockL10nT('POSIX PHP module', 1);
$this->mockL10nT('Error: POSIX PHP module required but not installed.', 1);
$this->mockL10nT('JSON PHP module', 1);
$this->mockL10nT('Error: JSON PHP module required but not installed.', 1);
}
private function assertCheckExist($position, $title, $help, $status, $required, $assertionArray)
@ -177,6 +179,17 @@ class InstallerTest extends MockedTest
true,
$install->getChecks());
$this->mockFunctionL10TCalls();
$this->setFunctions(['json_encode' => false]);
$install = new Installer();
$this->assertFalse($install->checkFunctions());
$this->assertCheckExist(9,
'JSON PHP module',
'Error: JSON PHP module required but not installed.',
false,
true,
$install->getChecks());
$this->mockFunctionL10TCalls();
$this->setFunctions([
'curl_init' => true,
@ -184,7 +197,8 @@ class InstallerTest extends MockedTest
'openssl_public_encrypt' => true,
'mb_strlen' => true,
'iconv_strlen' => true,
'posix_kill' => true
'posix_kill' => true,
'json_encode' => true
]);
$install = new Installer();
$this->assertTrue($install->checkFunctions());