diff --git a/setup/compiler.class.inc.php b/setup/compiler.class.inc.php index 8bf0c1bfe..b1c4eff64 100644 --- a/setup/compiler.class.inc.php +++ b/setup/compiler.class.inc.php @@ -2901,14 +2901,15 @@ EOF; /** * Choose between precompiled files declared in datamodel XMLs or latest precompiled files generated after latest setup. - * @param $sTempTargetDir - * @param $sPrecompiledFileUri - * @param $sPostCompilationLatestPrecompiledFile - * @param $sThemeId + * + * @param string $sTempTargetDir + * @param string $sPrecompiledFileUri + * @param string $sPostCompilationLatestPrecompiledFile + * @param string $sThemeId * * @return string : file path of latest precompiled file to use for setup */ - public function UseLatestPrecompiledFile($sTempTargetDir, $sPrecompiledFileUri, $sPostCompilationLatestPrecompiledFile, $sThemeId) : ?string { + public function UseLatestPrecompiledFile(string $sTempTargetDir, string $sPrecompiledFileUri, $sPostCompilationLatestPrecompiledFile, $sThemeId) : ?string { $bDataXmlPrecompiledFileExists = false; clearstatcache(); if (!empty($sPrecompiledFileUri)){ diff --git a/test/setup/MFCompilerTest.php b/test/setup/MFCompilerTest.php index ac16ba1f3..e6f1ad5a2 100644 --- a/test/setup/MFCompilerTest.php +++ b/test/setup/MFCompilerTest.php @@ -6,7 +6,7 @@ use Combodo\iTop\Test\UnitTest\ItopTestCase; * @runTestsInSeparateProcesses * @preserveGlobalState disabled * @backupGlobals disabled - * @covers utils + * @covers \MFCompiler::UseLatestPrecompiledFile */ class MFCompilerTest extends ItopTestCase { /** @var array */ @@ -20,7 +20,6 @@ class MFCompilerTest extends ItopTestCase { public function setUp() { - @include_once '/home/combodo/workspace/iTop/approot.inc.php'; parent::setUp(); require_once(APPROOT.'setup/compiler.class.inc.php'); @@ -98,8 +97,14 @@ class MFCompilerTest extends ItopTestCase { /** * @dataProvider UseLatestPrecompiledFileProvider + * + * @param string $sTempTargetDir + * @param string $sPrecompiledFileUri + * @param string $sPostCompilationLatestPrecompiledFile + * @param string $sThemeDir + * @param ?string $sExpectedReturn */ - public function testUseLatestPrecompiledFile(string $sTempTargetDir, string $sPrecompiledFileUri, string $sPostCompilationLatestPrecompiledFile, string $sThemeDir, $sExpectedReturn){ + public function testUseLatestPrecompiledFile(string $sTempTargetDir, string $sPrecompiledFileUri, string $sPostCompilationLatestPrecompiledFile, string $sThemeDir, ?string $sExpectedReturn){ $sRes = $this->oMFCompiler->UseLatestPrecompiledFile($sTempTargetDir, $sPrecompiledFileUri, $sPostCompilationLatestPrecompiledFile, $sThemeDir); $this->assertEquals($sExpectedReturn, $sRes); } @@ -107,6 +112,7 @@ class MFCompilerTest extends ItopTestCase { public function UseLatestPrecompiledFileProvider(){ self::init(); return [ + 'no precompiled file at all' => $this->BuildProviderUseCaseArray('', self::$aRessources['sMissingFile'], null), 'no precompiled file configured in precompiled_stylesheet XM section' => $this->BuildProviderUseCaseArray('', self::$aRessources['sPostCompilation1'], self::$aRessources['sPostCompilation1']), 'missing precompiled file in precompiled_stylesheet section' => $this->BuildProviderUseCaseArray(self::$aRessources['sMissingFile'], self::$aRessources['sPostCompilation1'], self::$aRessources['sPostCompilation1'] ), 'no precompiled file generated in previous setup in /data/precompiled_styles' => $this->BuildProviderUseCaseArray(self::$aRessources['sPrecompiledInExtensionFileUri1'], self::$aRessources['sMissingFile'], self::$aRessources['sCopiedExtensionFile1'] ),