diff --git a/ecrire/tests/Filesystem/CreerCheminTest.php b/ecrire/tests/Filesystem/CreerCheminTest.php new file mode 100644 index 0000000000000000000000000000000000000000..30a10584e33d1750118a9fe01538ad1b1eecd39c --- /dev/null +++ b/ecrire/tests/Filesystem/CreerCheminTest.php @@ -0,0 +1,52 @@ +<?php + +declare(strict_types=1); + +namespace Spip\Test\Filesystem; + +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\TestCase; + +class CreerCheminTest extends TestCase +{ + private int $nb_dossiers_squelettes; + + public static function setUpBeforeClass(): void { + include_spip('inc/utils'); + } + + public function setUp(): void { + } + + public function testAddCheminSansDossierSquelettes() { + $GLOBALS['dossier_squelettes'] = ''; + $chemins = creer_chemin(); + $this->assertIsArray($chemins); + + _chemin('toto'); + $_chemins = creer_chemin(); + + $this->assertIsArray($_chemins); + $this->assertEquals(count($chemins), count($_chemins) - 1, 'Erreur ajout chemin par la fonction _chemin() : mauvais compte'); + if (is_dir(_DIR_RACINE . 'squelettes')) { + $this->assertEquals('toto/', $_chemins[1], 'Erreur ajout chemin par la fonction _chemin() : avec squelettes'); + } else { + $this->assertEquals('toto/', $_chemins[0], 'Erreur ajout chemin par la fonction _chemin() : sans squelettes'); + } + } + + public function testAddCheminAvecDossierSquelettes() { + $GLOBALS['dossier_squelettes'] = 'titi:tutu'; + $chemins = creer_chemin(); + $this->assertIsArray($chemins); + + $squelettes = (int) is_dir(_DIR_RACINE . 'squelettes'); + $dossier_squelettes = count(explode(':', $GLOBALS['dossier_squelettes'])); + + _chemin('toto'); + $_chemins = creer_chemin(); + + $this->assertIsArray($_chemins); + $this->assertEquals('toto/', $_chemins[$squelettes + $dossier_squelettes], 'Erreur ajout chemin par la fonction _chemin() : avec dossier_squelettes'); + } +} diff --git a/ecrire/tests/legacy/unit/path/creer_chemin.php b/ecrire/tests/legacy/unit/path/creer_chemin.php deleted file mode 100644 index 5cdc1306b6f20dad59a8e1a9bbd1c099f8b0dc42..0000000000000000000000000000000000000000 --- a/ecrire/tests/legacy/unit/path/creer_chemin.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php - -declare(strict_types=1); - -$test = 'chemin'; - -$remonte = __DIR__ . '/'; - -while (!is_file($remonte . 'test.inc')) { - $remonte .= '../'; -} - -require $remonte . 'test.inc'; - -$n = count(explode(':', $GLOBALS['dossier_squelettes'])); - -$chemin = creer_chemin(); - -_chemin('toto'); - -$chemin1 = creer_chemin(); - -if (count($chemin1) !== (is_countable($chemin) ? count($chemin) : 0) + 1) { - die('Erreur ajout chemin par la fonction _chemin() : mauvais compte' . var_dump($chemin) . var_dump($chemin1)); -} - -if ($GLOBALS['dossier_squelettes']) { - // toto a été ajouté après les chemins de dossier squelettes - if ($chemin1[$n] !== 'toto/' && $chemin1[$n + 1] !== 'toto/') { - die('Erreur ajout chemin par la fonction _chemin() : avec dossier_squelettes' . var_dump($chemin) . var_dump( - $chemin1 - )); - } -} elseif (@is_dir(_DIR_RACINE . 'squelettes')) { - if ($chemin1[1] !== 'toto/') { - die('Erreur ajout chemin par la fonction _chemin() : sans dossier_squelettes avec répertoire squelettes' . var_dump( - $chemin - ) . var_dump($chemin1)); - } -} elseif ($chemin1[0] !== 'toto/') { - die('Erreur ajout chemin par la fonction _chemin() : sans dossier_squelettes sans répertoire squelettes' . var_dump( - $chemin - ) . var_dump($chemin1)); -} - -$GLOBALS['dossier_squelettes'] = 'titi:' . $GLOBALS['dossier_squelettes']; - -$chemin2 = creer_chemin(); - -if ((is_countable($chemin2) ? count($chemin2) : 0) === count($chemin1) || reset($chemin2) !== 'titi/') { - die('Erreur prise en compte dossier squelette' . var_dump($chemin1) . var_dump($chemin2)); -} - -echo 'OK';