diff --git a/ecrire/tests/Filtre/Form/FormHiddenTest.php b/ecrire/tests/Filtre/Form/FormHiddenTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8e00324cf36454c2db24fe1ccd0b00d0e722dad4 --- /dev/null +++ b/ecrire/tests/Filtre/Form/FormHiddenTest.php @@ -0,0 +1,47 @@ +<?php + +declare(strict_types=1); + +namespace Spip\Test\Filtre\Form; + +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Depends; +use PHPUnit\Framework\TestCase; +use RuntimeException; +use Spip\Test\SquelettesTestCase; + +class FormHiddenTest extends SquelettesTestCase +{ + public function testParametreUrl() { + $this->assertSame('x?y=1', parametre_url('x', 'y', '1')); + $this->assertSame('x?y=2', parametre_url(parametre_url('x', 'y', '1'), 'y', '2')); + + $this->assertEqualsCode('x?y=1', '[(#VAL{x}|parametre_url{y,1})]'); + $this->assertEqualsCode('x?y=2', '[(#VAL{x}|parametre_url{y,1}|parametre_url{y,2})]'); + } + + public function testParametreUrlArray() { + $this->assertSame('x?t[]=1&t[]=2', parametre_url('x', 't[]', [1, 2])); + + $this->assertEqualsCode('x?t[]=1&t[]=2', '[(#VAL{x}|parametre_url{t\[\],#LISTE{1,2}})]'); + } + + public function testFormHiddenUnused() { + $url = parametre_url(parametre_url('x', 'toto', '1'), 'toto', '%!'); + $url .= '&toto=3=2'; + $hiddens = form_hidden($url); + $this->assertCount(1, extraire_balises($hiddens, 'input'), 'bug compte d’input'); + + $url = parametre_url('x', 'toto', '3=2'); + $url .= '&toto=p'; + $hiddens = form_hidden($url); + $this->assertSame('3=2', extraire_attribut(extraire_balise($hiddens, 'input'), 'value'), 'bug value input'); + } + + public function testFormHiddenArray() { + $url = parametre_url('x', 't[]', ['1', '%!']); + $url .= '&t[]=3=2'; + $hiddens = form_hidden($url); + $this->assertCount(3, extraire_balises($hiddens, 'input'), 'bug compte d’input'); + } +} diff --git a/ecrire/tests/legacy/unit/filtres/form_hidden.html b/ecrire/tests/legacy/unit/filtres/form_hidden.html deleted file mode 100644 index 2aac415f55079053a75a19b98dbf5d9432171e5c..0000000000000000000000000000000000000000 --- a/ecrire/tests/legacy/unit/filtres/form_hidden.html +++ /dev/null @@ -1,36 +0,0 @@ -#SET{t,t#EVAL{chr(91).chr(93)}} - - -[(#REM) - - Verifier que parametre_url fonctionne - -] -[(#VAL{x}|parametre_url{y,1}|=={'x?y=1'}|?{'', erreur parametre url 1})] -[(#VAL{x}|parametre_url{y,1}|parametre_url{y,2}|=={'x?y=2'}|?{'', -erreur parametre url 2<br />})] - - -[(#VAL{x}|parametre_url{#GET{t},#LISTE{1,2}}|=={ -#VAL{x}|concat{'?'}|concat{#GET{t}}|concat{'=1&'}|concat{#GET{t}}|concat{'=2'} -}|?{'', -erreur parametre url tableau<br />})] - - -[(#REM) - - Verifie que form_hidden n'ajoute pas des valeurs pour rien - -] - -[(#VAL{x}|parametre_url{toto,1}|parametre_url{toto,%!}|concat{&toto=3=2}|form_hidden|extraire_balises{input}|count|=={1}|?{'', -bug compte d'input<br />})] - -[(#VAL{x}|parametre_url{toto,3=2}|concat{&toto=p}|form_hidden|extraire_balise{input}|extraire_attribut{value}|=={'3=2'}|?{'', -bug value<br />})] - -[(#REM) si var est un tableau, il faut conserver tous les input ] -[(#VAL{x}|parametre_url{#GET{t},#LISTE{1,%!}}|concat{&#GET{t}}|concat{=3=2}|form_hidden|extraire_balises{input}|count|=={3}|?{'', -bug tableau<br />})] - -OK \ No newline at end of file