diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index 0114f7d868..00bc84f2a8 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -156,7 +156,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: true, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -189,7 +190,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: true, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -223,7 +225,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: true, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -255,7 +258,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: true, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -285,7 +289,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: false, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -315,7 +320,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: true, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -345,7 +351,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: true, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: false + isSettimelimitAvailable: false, + hasFreeTypeSupport: true }) ); @@ -396,7 +403,8 @@ describe('OC.SetupChecks tests', function() { isCorrectMemcachedPHPModuleInstalled: true, hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: true, - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -427,7 +435,8 @@ describe('OC.SetupChecks tests', function() { hasPassedCodeIntegrityCheck: true, isOpcacheProperlySetup: false, phpOpcacheDocumentation: 'https://example.org/link/to/doc', - isSettimelimitAvailable: true + isSettimelimitAvailable: true, + hasFreeTypeSupport: true }) ); @@ -439,6 +448,38 @@ describe('OC.SetupChecks tests', function() { done(); }); }); + + it('should return an info if server has no freetype support', function(done) { + var async = OC.SetupChecks.checkSetup(); + + suite.server.requests[0].respond( + 200, + { + 'Content-Type': 'application/json' + }, + JSON.stringify({ + isUrandomAvailable: true, + securityDocs: 'https://docs.owncloud.org/myDocs.html', + serverHasInternetConnection: true, + isMemcacheConfigured: true, + forwardedForHeadersWorking: true, + isCorrectMemcachedPHPModuleInstalled: true, + hasPassedCodeIntegrityCheck: true, + isOpcacheProperlySetup: true, + phpOpcacheDocumentation: 'https://example.org/link/to/doc', + isSettimelimitAvailable: true, + hasFreeTypeSupport: false + }) + ); + + async.done(function( data, s, x ){ + expect(data).toEqual([{ + msg: 'Your PHP does not have freetype support. This will result in broken profile pictures and settings interface.', + type: OC.SetupChecks.MESSAGE_TYPE_INFO + }]); + done(); + }); + }); }); describe('checkGeneric', function() { diff --git a/tests/Settings/Controller/CheckSetupControllerTest.php b/tests/Settings/Controller/CheckSetupControllerTest.php index f0e203e714..3f47819bcb 100644 --- a/tests/Settings/Controller/CheckSetupControllerTest.php +++ b/tests/Settings/Controller/CheckSetupControllerTest.php @@ -96,7 +96,7 @@ class CheckSetupControllerTest extends TestCase { $this->checker, $this->logger ]) - ->setMethods(['getCurlVersion', 'isPhpOutdated', 'isOpcacheProperlySetup'])->getMock(); + ->setMethods(['getCurlVersion', 'isPhpOutdated', 'isOpcacheProperlySetup', 'hasFreeTypeSupport'])->getMock(); } public function testIsInternetConnectionWorkingDisabledViaConfig() { @@ -321,6 +321,9 @@ class CheckSetupControllerTest extends TestCase { ->method('linkToDocs') ->with('admin-php-opcache') ->willReturn('http://docs.example.org/server/go.php?to=admin-php-opcache'); + $this->checkSetupController + ->method('hasFreeTypeSupport') + ->willReturn(false); $expected = new DataResponse( [ @@ -342,6 +345,7 @@ class CheckSetupControllerTest extends TestCase { 'isOpcacheProperlySetup' => false, 'phpOpcacheDocumentation' => 'http://docs.example.org/server/go.php?to=admin-php-opcache', 'isSettimelimitAvailable' => true, + 'hasFreeTypeSupport' => false, ] ); $this->assertEquals($expected, $this->checkSetupController->check());