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

tests: Migration de tests form_hidden() en PHPUnit, et correction du fait que...

tests: Migration de tests form_hidden() en PHPUnit, et correction du fait que ça nécessite un id_rubrique existant
parent 564a6f22
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 243 ajouts et 595 suppressions
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenArboTest extends FormHiddenCase
{
public const TYPE = 'arbo';
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenCase extends TestCase
{
public const TYPE = '';
public static function setUpBeforeClass(): void
{
find_in_path('inc/filtres.php', '', true);
self::backupUrls();
if (!static::TYPE) {
throw new \RuntimeException("Subclass needs to define TYPE");
}
$GLOBALS['type_urls'] = static::TYPE;
$GLOBALS['profondeur_url'] = 0;
}
public static function setTearDownAfterClass(): void
{
self::backupUrls(true);
}
public static function backupUrls(bool $restore = false): void
{
static $type = null;
static $profondeur_url = 0;
if ($restore) {
$GLOBALS['type_urls'] = $type;
$GLOBALS['profondeur_url'] = $profondeur_url;
} else {
$type = $GLOBALS['type_urls'] ?? null;
$profondeur_url = $GLOBALS['profondeur_url'] ?? 0;
}
}
protected function getIdRubrique(): ?int {
include_spip('base/abstract_sql');
$id_rubrique = sql_getfetsel(
'id_rubrique',
'spip_rubriques',
['statut = ' . sql_quote('publie')]
);
return $id_rubrique ? (int) $id_rubrique : null;
}
public function testHasRubrique(): void
{
$id = $this->getIdRubrique();
if (!$id) {
$this->markTestSkipped("Needs a published rubrique");
}
$this->assertNotNull($this->getIdRubrique());
}
/**
* @depends testHasRubrique
* @dataProvider providerFormHiddenRubrique
*/
public function testFormHiddenRubrique($expected, ...$args): void
{
$actual = form_hidden(...$args);
$this->assertSame($expected, $actual);
$this->assertEquals($expected, $actual);
}
public function providerFormHiddenRubrique(): array
{
$id = $this->getIdRubrique();
return [
0 =>
[
0 => '<input name="id_rubrique" value="' . $id . '" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique' . $id,
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="' . $id . '" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique' . $id . '&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="' . $id . '" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique' . $id . '.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="' . $id . '" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique' . $id . '.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="' . $id . '" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique' . $id . '&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="' . $id . '" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique' . $id . '.html?calendrier=1&amp;toto=2',
],
];
}
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenHtmlTest extends FormHiddenCase
{
public const TYPE = 'html';
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenLibresTest extends FormHiddenCase
{
public const TYPE = 'libres';
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenPageTest extends FormHiddenCase
{
public const TYPE = 'page';
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenPropresQsTest extends FormHiddenCase
{
public const TYPE = 'propres_qs';
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenPropresTest extends FormHiddenCase
{
public const TYPE = 'propres';
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction affdate_court du fichier inc/filtres.php
*/
namespace Spip\Core\Tests\Filtre\Form;
use PHPUnit\Framework\TestCase;
class FormHiddenStandardTest extends FormHiddenCase
{
public const TYPE = 'standard';
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction form_hidden du fichier ./inc/filtres.php
*
* genere automatiquement par TestBuilder le 2010-03-13 21:35
*/
$test = 'form_hidden';
$remonte = __DIR__ . '/';
while (! is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
find_in_path('./inc/filtres.php', '', true);
$type_urls = 'arbo';
$GLOBALS['profondeur_url'] = 0;
//
// hop ! on y va
//
$err = tester_fun('form_hidden', essais_form_hidden());
// si le tableau $err est pas vide ca va pas
if ($err) {
die('<dl>' . implode('', $err) . '</dl>');
}
echo 'OK';
function essais_form_hidden()
{
return [
0 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12',
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1&amp;toto=2',
],
];
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction form_hidden du fichier ./inc/filtres.php
*
* genere automatiquement par TestBuilder le 2010-03-13 21:35
*/
$test = 'form_hidden';
$remonte = __DIR__ . '/';
while (! is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
find_in_path('./inc/filtres.php', '', true);
$type_urls = 'html';
$GLOBALS['profondeur_url'] = 0;
//
// hop ! on y va
//
$err = tester_fun('form_hidden', essais_form_hidden());
// si le tableau $err est pas vide ca va pas
if ($err) {
die('<dl>' . implode('', $err) . '</dl>');
}
echo 'OK';
function essais_form_hidden()
{
return [
0 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12',
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1&amp;toto=2',
],
];
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction form_hidden du fichier ./inc/filtres.php
*
* genere automatiquement par TestBuilder le 2010-03-13 21:35
*/
$test = 'form_hidden';
$remonte = __DIR__ . '/';
while (! is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
find_in_path('./inc/filtres.php', '', true);
$type_urls = 'libres';
$GLOBALS['profondeur_url'] = 0;
//
// hop ! on y va
//
$err = tester_fun('form_hidden', essais_form_hidden());
// si le tableau $err est pas vide ca va pas
if ($err) {
die('<dl>' . implode('', $err) . '</dl>');
}
echo 'OK';
function essais_form_hidden()
{
return [
0 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12',
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1&amp;toto=2',
],
];
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction form_hidden du fichier ./inc/filtres.php
*
* genere automatiquement par TestBuilder le 2010-03-13 21:35
*/
$test = 'form_hidden';
$remonte = __DIR__ . '/';
while (! is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
find_in_path('./inc/filtres.php', '', true);
$type_urls = 'page';
$GLOBALS['profondeur_url'] = 0;
//
// hop ! on y va
//
$err = tester_fun('form_hidden', essais_form_hidden());
// si le tableau $err est pas vide ca va pas
if ($err) {
die('<dl>' . implode('', $err) . '</dl>');
}
echo 'OK';
function essais_form_hidden()
{
return [
0 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12',
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1&amp;toto=2',
],
];
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction form_hidden du fichier ./inc/filtres.php
*
* genere automatiquement par TestBuilder le 2010-03-13 21:35
*/
$test = 'form_hidden';
$remonte = __DIR__ . '/';
while (! is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
find_in_path('./inc/filtres.php', '', true);
$type_urls = 'propres';
$GLOBALS['profondeur_url'] = 0;
//
// hop ! on y va
//
$err = tester_fun('form_hidden', essais_form_hidden());
// si le tableau $err est pas vide ca va pas
if ($err) {
die('<dl>' . implode('', $err) . '</dl>');
}
echo 'OK';
function essais_form_hidden()
{
return [
0 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12',
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1&amp;toto=2',
],
];
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction form_hidden du fichier ./inc/filtres.php
*
* genere automatiquement par TestBuilder le 2010-03-13 21:35
*/
$test = 'form_hidden';
$remonte = __DIR__ . '/';
while (! is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
find_in_path('./inc/filtres.php', '', true);
$type_urls = 'propres_qs';
$GLOBALS['profondeur_url'] = 0;
//
// hop ! on y va
//
$err = tester_fun('form_hidden', essais_form_hidden());
// si le tableau $err est pas vide ca va pas
if ($err) {
die('<dl>' . implode('', $err) . '</dl>');
}
echo 'OK';
function essais_form_hidden()
{
return [
0 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12',
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1&amp;toto=2',
],
];
}
<?php
declare(strict_types=1);
/**
* Test unitaire de la fonction form_hidden du fichier ./inc/filtres.php
*
* genere automatiquement par TestBuilder le 2010-03-13 21:35
*/
$test = 'form_hidden';
$remonte = __DIR__ . '/';
while (! is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
find_in_path('./inc/filtres.php', '', true);
$type_urls = 'standard';
$GLOBALS['profondeur_url'] = 0;
//
// hop ! on y va
//
$err = tester_fun('form_hidden', essais_form_hidden());
// si le tableau $err est pas vide ca va pas
if ($err) {
die('<dl>' . implode('', $err) . '</dl>');
}
echo 'OK';
function essais_form_hidden()
{
return [
0 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12',
],
1 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&calendrier=1',
],
2 =>
[
0 => '<input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html',
],
3 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1',
],
4 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './?rubrique12&amp;calendrier=1',
],
5 =>
[
0 => '<input name="calendrier" value="1" type="hidden"
/><input name="toto" value="2" type="hidden"
/><input name="id_rubrique" value="12" type="hidden"
/><input name="page" value="rubrique" type="hidden"
/>',
1 => './rubrique12.html?calendrier=1&amp;toto=2',
],
];
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter