Skip to content
Extraits de code Groupes Projets
Valider f05a3097 rédigé par marcimat's avatar marcimat Validation de marcimat
Parcourir les fichiers

tests: Test balise dynamique lang en PHPUnit

parent 2241ea12
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<?php
declare(strict_types=1);
namespace Spip\Test\Squelettes\Balise;
use Spip\Test\SquelettesTestCase;
use Spip\Test\Templating;
class BaliseDynamiqueLangTest extends SquelettesTestCase
{
public static function setUpBeforeClass(): void {
$GLOBALS['dossier_squelettes'] = self::relativePath(__DIR__ . '/data/squelettes');
}
/**
* Vérifie que la langue est transmise dans une balise dynamique
*
* - On part d’une `#LANG` (spip_lang) fixée dans le fichier _fonctions
* - On trouve un article d’une autre langue
* - On appelle une balise dynamique, qui vérifiera que spip_lang a été mis à jour dedans
*/
public function testBaliseDynamiqueLang(): void {
$templating = Templating::fromString([
'fonctions' => <<<PHP
// placer une langue globale arbitraire
\$GLOBALS['spip_lang'] = 'ar';
PHP,
]);
$skel = <<<SPIP
<BOUCLE_art(ARTICLES){lang!=#LANG}{0,1}>
#FORMULAIRE_TEST_DYN_LANG{#LANG}
</BOUCLE_art>
NA : Impossible de trouver un article dans une autre langue que #LANG
<//B_art>
SPIP;
$this->assertOkTemplate($templating, $skel);
}
/**
* Vérifie que la langue est transmise dans une balise dynamique depuis un modèle
*
* - On part d’une `#LANG` (spip_lang) fixée dans le fichier _fonctions
* - On trouve un article d’une autre langue
* - On appelle une balise dynamique via un modèle, qui vérifiera que spip_lang a été mis à jour dedans
*/
public function testBaliseDynamiqueLangModele(): void {
$templating = Templating::fromString([
'fonctions' => <<<PHP
// placer une langue globale arbitraire
\$GLOBALS['spip_lang'] = 'ar';
PHP,
]);
$skel = <<<SPIP
<BOUCLE_art(ARTICLES){lang!=#LANG}{0,1}>
[(#VAL{'<formulaire|test_dyn_lang|t='}|concat{#LANG,'>'}|propre|interdire_scripts)]
</BOUCLE_art>
NA : Impossible de trouver un article dans une autre langue que #LANG
<//B_art>
#FILTRE{textebrut}
SPIP;
$this->assertOkTemplate($templating, $skel);
}
}
#ENV{message_ok}
...@@ -2,13 +2,6 @@ ...@@ -2,13 +2,6 @@
declare(strict_types=1); declare(strict_types=1);
/*
* Plugin xxx
* (c) 2009 xxx
* Distribue sous licence GPL
*
*/
function formulaires_test_dyn_lang_charger_dist($lang_skel) { function formulaires_test_dyn_lang_charger_dist($lang_skel) {
return [ return [
'message_ok' => $lang_skel === $GLOBALS['spip_lang'] ? 'OK' : "NOK : La langue dans le squelette appelant est {$lang_skel} mais la langue dans charger() est " . $GLOBALS['spip_lang'], 'message_ok' => $lang_skel === $GLOBALS['spip_lang'] ? 'OK' : "NOK : La langue dans le squelette appelant est {$lang_skel} mais la langue dans charger() est " . $GLOBALS['spip_lang'],
......
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
]
#ENV{message_ok}
\ No newline at end of file
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
]
[(#REM) Ici on est dans la #LANG fixee dans le fichier _fonctions]
<BOUCLE_art(ARTICLES){lang!=#LANG}{0,1}>
[(#REM) Ici on est dans une autre langue : celle de l'article
On envoie cette langue au formulaire qui va verifier qu'elle correspond a sa globale spip_lang
]
#FORMULAIRE_TEST_DYN_LANG{#LANG}
</BOUCLE_art>
NA : Impossible de trouver un article dans une autre langue que #LANG
<//B_art>
<?php
declare(strict_types=1);
// placer une langue globale arbitraire
$GLOBALS['spip_lang'] = 'ar';
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
]
[(#REM) Ici on est dans la #LANG fixee dans le fichier _fonctions]
<BOUCLE_art(ARTICLES){lang!=#LANG}{0,1}>
[(#REM) Ici on est dans une autre langue : celle de l'article
On appelle le formulaire via un modele pour verifier que la langue correspond a sa globale spip_lang
]
[(#VAL{'<formulaire|test_dyn_lang|t='}|concat{#LANG,'>'}|propre|interdire_scripts)]
</BOUCLE_art>
NA : Impossible de trouver un article dans une autre langue que #LANG
<//B_art>
#FILTRE{textebrut}
<?php
declare(strict_types=1);
// placer une langue globale arbitraire
$GLOBALS['spip_lang'] = 'ar';
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter