Import initial de Vivier depuis l'hebergement OVH
This commit is contained in:
commit
839e5e57c5
126 files changed
+22447
No files matched your search
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
// Tests de l'aide intégrée : php tests/test_aide.php
|
||||
declare(strict_types=1);
|
||||
const VIVIER_RACINE = __DIR__ . '/..';
|
||||
const SENIORITES = ['junior' => 'Junior'];
|
||||
const STATUTS = ['recu' => 'Reçu'];
|
||||
require __DIR__ . '/../src/i18n.php';
|
||||
require __DIR__ . '/../src/Recherche.php';
|
||||
require __DIR__ . '/../src/markdown.php';
|
||||
require __DIR__ . '/../src/aide.php';
|
||||
|
||||
$ok = 0; $ko = 0;
|
||||
function verifier(string $nom, bool $cond): void {
|
||||
global $ok, $ko;
|
||||
if ($cond) { $ok++; } else { $ko++; echo "ECHEC : $nom\n"; }
|
||||
}
|
||||
|
||||
foreach (array_keys(DOCUMENTS_AIDE) as $guide) {
|
||||
$fr = aide($guide, 'fr');
|
||||
$en = aide($guide, 'en');
|
||||
verifier("$guide : existe en français et en anglais", $fr !== null && $en !== null && $fr['langue'] === 'fr' && $en['langue'] === 'en');
|
||||
verifier("$guide : même nombre de chapitres dans les deux langues", count($fr['chapitres']) === count($en['chapitres']) && count($fr['chapitres']) >= 10);
|
||||
foreach (['fr' => $fr, 'en' => $en] as $langue => $a) {
|
||||
preg_match_all('/ id="([^"]+)"/', $a['html'], $ids);
|
||||
verifier("$guide ($langue) : ancres uniques et non vides", count($ids[1]) === count(array_unique($ids[1])) && !in_array('', $ids[1], true));
|
||||
verifier("$guide ($langue) : chaque chapitre du sommaire a son ancre", !array_diff(array_column($a['chapitres'], 'id'), $ids[1]));
|
||||
verifier("$guide ($langue) : aucun balisage Markdown resté visible", !preg_match('/\*\*|^#|\|\s*---/m', strip_tags($a['html'])));
|
||||
}
|
||||
// Même structure : autant de sous-titres, de tableaux et de listes numérotées de part et d'autre
|
||||
foreach (['<h3' => 'sous-titres', '<table>' => 'tableaux', '<ol>' => 'listes numérotées', '<tr>' => 'lignes de tableau'] as $balise => $nom) {
|
||||
verifier("$guide : autant de $nom en français qu'en anglais", substr_count($fr['html'], $balise) === substr_count($en['html'], $balise));
|
||||
}
|
||||
}
|
||||
verifier('langue sans fichier : le français est servi', aide('guide', 'de')['langue'] === 'fr');
|
||||
verifier('guide inconnu ou nom piégé : rien', aide('autre', 'fr') === null && aide('../config/config', 'fr') === null && aide('guide', '../x') === null);
|
||||
verifier('ancre lisible, sans accent', aide('guide', 'fr')['chapitres'][1]['id'] === 'se-connecter');
|
||||
|
||||
echo "$ok réussis, $ko échoués\n";
|
||||
exit($ko > 0 ? 1 : 0);
|
||||
Reference in new issue
Block a user