From 7cad4ac444f0d1d4774dd38cc4b8aa267483c6d8 Mon Sep 17 00:00:00 2001 From: odain Date: Thu, 4 Jun 2020 22:47:50 +0200 Subject: [PATCH] adapt testValidatePrecompiledStyles --- application/themehandler.class.inc.php | 2 +- test/application/ThemeHandlerTest.php | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/application/themehandler.class.inc.php b/application/themehandler.class.inc.php index 7a3643b22..c3e1dd1fd 100644 --- a/application/themehandler.class.inc.php +++ b/application/themehandler.class.inc.php @@ -615,7 +615,7 @@ CSS; * @throws Exception * @return string */ - private static function FindStylesheetFile($sFile, $aImportsPaths) + public static function FindStylesheetFile($sFile, $aImportsPaths) { foreach($aImportsPaths as $sPath) { diff --git a/test/application/ThemeHandlerTest.php b/test/application/ThemeHandlerTest.php index 1fe2aa00c..a579ee4b5 100644 --- a/test/application/ThemeHandlerTest.php +++ b/test/application/ThemeHandlerTest.php @@ -141,11 +141,15 @@ class ThemeHandlerTest extends ItopTestCase } /** @var \DOMNodeList $oImports */ + $aStylesheetFiles = array(); + $aImportsPaths = array(APPROOT.'datamodels'); $oImports = $oTheme->GetNodes('imports/import'); foreach($oImports as $oImport) { $sImportId = $oImport->getAttribute('id'); $aThemeParameters['imports'][$sImportId] = $oImport->GetText(); + $sFile = ThemeHandler::FindStylesheetFile($oImport->GetText(), $aImportsPaths); + $aStylesheetFiles[] = $sFile; } /** @var \DOMNodeList $oStylesheets */ @@ -154,13 +158,17 @@ class ThemeHandlerTest extends ItopTestCase { $sStylesheetId = $oStylesheet->getAttribute('id'); $aThemeParameters['stylesheets'][$sStylesheetId] = $oStylesheet->GetText(); + $sFile = ThemeHandler::FindStylesheetFile($oStylesheet->GetText(), $aImportsPaths); + $aStylesheetFiles[] = $sFile; } $sThemeFolderPath = APPROOT.'env-production/branding/themes/'.$sThemeId.'/test'; if (!is_dir($sThemeFolderPath)) { mkdir($sThemeFolderPath); } - $compiled_json_sig = ThemeHandler::ComputeSignature($aThemeParameters, array(APPROOT.'datamodels'), $sThemeFolderPath); + + $aIncludedImages=ThemeHandler::GetIncludedImages($aThemeParameters['variables'], $aStylesheetFiles, $sThemeFolderPath); + $compiled_json_sig = ThemeHandler::ComputeSignature($aThemeParameters, $aImportsPaths, $aIncludedImages); echo " current signature: $compiled_json_sig\n"; rmdir($sThemeFolderPath); $this->assertEquals($precompiledSig, $compiled_json_sig, "Precompiled signature does not match currently compiled one on theme '".$sThemeId."' (cf precompiledsheet $sPrecompiledStylesheet / datamodel $xmlDataCusto)");