mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-23 02:28:44 +02:00
N°7249 DictionariesConsistencyTest : also scan /dictionaries sub-directories
Since 3.0.0 we introduced sub directories
This commit is contained in:
@@ -18,6 +18,9 @@ namespace Combodo\iTop\Test\UnitTest\Integration;
|
||||
use Combodo\iTop\Test\UnitTest\ItopTestCase;
|
||||
use Error;
|
||||
use Exception;
|
||||
use RecursiveDirectoryIterator;
|
||||
use RecursiveIteratorIterator;
|
||||
use RegexIterator;
|
||||
use const ARRAY_FILTER_USE_BOTH;
|
||||
use const DIRECTORY_SEPARATOR;
|
||||
|
||||
@@ -160,10 +163,20 @@ class DictionariesConsistencyTest extends ItopTestCase
|
||||
$sAppRoot = static::GetAppRoot();
|
||||
|
||||
|
||||
$aDictFiles = array_merge(
|
||||
$aDictFilesCore = [];
|
||||
$sCoreDictionariesPath = realpath($sAppRoot.'dictionaries');
|
||||
$sDictFilePattern = '/^.+\.dict.*\.php$/i';
|
||||
$oDirIterator = new RecursiveDirectoryIterator($sCoreDictionariesPath, RecursiveDirectoryIterator::SKIP_DOTS);
|
||||
$oIterator = new RecursiveIteratorIterator($oDirIterator, RecursiveIteratorIterator::SELF_FIRST);
|
||||
$oRegexIterator = new RegexIterator($oIterator, $sDictFilePattern, RegexIterator::GET_MATCH);
|
||||
foreach($oRegexIterator as $file) {
|
||||
$aDictFilesCore[] = $file[0];
|
||||
}
|
||||
|
||||
|
||||
$aDictFilesModules = array_merge(
|
||||
glob($sAppRoot.'datamodels/2.x/*/*.dict*.php'), // legacy form in modules
|
||||
glob($sAppRoot.'datamodels/2.x/*/dictionaries/*.dict*.php'), // modern form in modules
|
||||
glob($sAppRoot.'dictionaries/*.dict*.php'), // framework
|
||||
|
||||
//--- Following should not be present in packages, but are convenient for local debugging !
|
||||
glob($sAppRoot.'extensions/*/*.dict*.php'),
|
||||
@@ -171,6 +184,8 @@ class DictionariesConsistencyTest extends ItopTestCase
|
||||
);
|
||||
|
||||
|
||||
$aDictFiles = array_merge($aDictFilesCore, $aDictFilesModules);
|
||||
|
||||
$aTestCases = array();
|
||||
foreach ($aDictFiles as $sDictFile) {
|
||||
$aTestCases[$sDictFile] = array('sDictFile' => $sDictFile);
|
||||
|
||||
Reference in New Issue
Block a user