Browse Source

Ajoute quelques tests unitaires.

php-unit
Fabien Basmaison 2 years ago
parent
commit
6b5e055783
  1. 20
      README.md
  2. 238
      tests/FiltresImagesLibMiniTest.php
  3. 73
      tests/FiltresImagesMiniTest.php

20
README.md

@ -1,5 +1,7 @@
Ce dépôt permet de définir un environnement de développement pour [Spip](https://www.spip.net/).
La machine contient également PHP Unit 8 ainsi que des tests unitaires.
Vous pouvez copier et coller les commandes suivantes dans votre terminal.
## Procédure
@ -24,6 +26,24 @@ Vous pouvez copier et coller les commandes suivantes dans votre terminal.
1. Vous pouvez [naviguer sur le site](http://192.168.50.4).
## Tests unitaires
Entrez dans la machine virtuelle avec :
```sh
vagrant ssh
```
Lancez ensuite les tests depuis la racine du dépôt :
```sh
cd /vagrant && phpunit --testdox --colors=always tests
```
* `--testdox` permet d’avoir un affichage graphique plus lisible pour les humains.
* `--colors=always` permet de l’afficher en couleur.
* `tests` est le dossier contenant les fichiers à tester. Tous les fichiers se terminant par « Test.php » seront pris en compte.
## Nota bene
### Mémoire de la machine virtuelle.

238
tests/FiltresImagesLibMiniTest.php

@ -0,0 +1,238 @@
<?php
declare(strict_types=1);
include_once('/vagrant/spip/ecrire/inc/filtres_images_lib_mini.php');
use PHPUnit\Framework\TestCase;
final class FiltresImagesLibMiniTest extends TestCase
{
// _couleur_dec_to_hex()
// =========================================================================
public function test__couleur_dec_to_hex_avec_rouge(): void
{
$this->assertEquals(
'ff0000',
_couleur_dec_to_hex(255, 0, 0)
);
}
public function test__couleur_dec_to_hex_avec_vert(): void
{
$this->assertEquals(
'00ff00',
_couleur_dec_to_hex(0, 255, 0)
);
}
public function test__couleur_dec_to_hex_avec_bleu(): void
{
$this->assertEquals(
'0000ff',
_couleur_dec_to_hex(0, 0, 255)
);
}
public function test__couleur_dec_to_hex_avec_blanc(): void
{
$this->assertEquals(
'ffffff',
_couleur_dec_to_hex(255, 255, 255)
);
}
public function test__couleur_dec_to_hex_avec_noir(): void
{
$this->assertEquals(
'000000',
_couleur_dec_to_hex(0, 0, 0)
);
}
// @todo: S’assurer que les valeurs en entrée sont des entiers de 0 à 255,
// sinon retourner false ?
public function test__couleur_dec_to_hex_avec_couleur_invalide(): void
{
$this->assertEquals(
'12cffffffffffffffff00',
_couleur_dec_to_hex(300, -1, 'foo')
);
}
// _couleur_hex_to_dec()
// =========================================================================
public function test__couleur_hex_to_dec_avec_rouge(): void
{
$this->assertEquals(
[
'red' => 255,
'green' => 0,
'blue' => 0
],
_couleur_hex_to_dec('ff0000')
);
}
public function test__couleur_hex_to_dec_avec_vert(): void
{
$this->assertEquals(
[
'red' => 0,
'green' => 255,
'blue' => 0
],
_couleur_hex_to_dec('00ff00')
);
}
public function test__couleur_hex_to_dec_avec_bleu(): void
{
$this->assertEquals(
[
'red' => 0,
'green' => 0,
'blue' => 255
],
_couleur_hex_to_dec('0000ff')
);
}
public function test__couleur_hex_to_dec_avec_blanc(): void
{
$this->assertEquals(
[
'red' => 255,
'green' => 255,
'blue' => 255
],
_couleur_hex_to_dec('ffffff')
);
}
public function test__couleur_hex_to_dec_avec_noir(): void
{
$this->assertEquals(
[
'red' => 0,
'green' => 0,
'blue' => 0
],
_couleur_hex_to_dec('000000')
);
}
// @todo: S’assurer que la chaine en entrée est une couleur hexadécimale,
// sinon retourner false ?
public function test__couleur_hex_to_dec_avec_valeur_invalide(): void
{
$this->assertEquals(
[
'red' => 15,
'green' => 0,
'blue' => 186
],
_couleur_hex_to_dec('foo bar')
);
}
// statut_effacer_images_temporaires()
// =========================================================================
// @todo: S’assurer que la fonction retourne toujours quelque chose ?
public function test_statut_effacer_images_temporaires_avec_true(): void
{
$this->assertEquals(
null,
statut_effacer_images_temporaires(true)
);
}
public function test_statut_effacer_images_temporaires_avec_false(): void
{
$this->assertEquals(
false,
statut_effacer_images_temporaires(false)
);
}
public function test_statut_effacer_images_temporaires_avec_get(): void
{
$this->assertEquals(
false,
statut_effacer_images_temporaires('get')
);
}
public function test_statut_effacer_images_temporaires_avec_null(): void
{
$this->assertEquals(
null,
statut_effacer_images_temporaires(null)
);
}
public function test_statut_effacer_images_temporaires_avec_1(): void
{
$this->assertEquals(
null,
statut_effacer_images_temporaires(1)
);
}
// _image_valeurs_trans()
// =========================================================================
// _image_trouver_extension()
// =========================================================================
public function test__image_trouver_extension_avec_1(): void
{
$this->assertEquals(
null,
_image_trouver_extension('')
);
}
// _image_trouver_extension_pertinente()
// =========================================================================
// _imagecreatefromjpeg()
// =========================================================================
// _imagecreatefrompng()
// =========================================================================
// _imagecreatefromgif()
// =========================================================================
// _image_imagepng()
// =========================================================================
// _image_imagegif()
// =========================================================================
// _image_imagejpg()
// =========================================================================
// _image_imageico()
// =========================================================================
// _image_gd_output()
// =========================================================================
// reconstruire_image_intermediaire()
// =========================================================================
// ramasse_miettes()
// =========================================================================
// image_graver()
// =========================================================================
// imagepalettetotruecolor()
// =========================================================================
// _image_tag_changer_taille()
// =========================================================================
// _image_ecrire_tag()
// =========================================================================
// _image_creer_vignette()
// =========================================================================
// _image_ratio()
// =========================================================================
// ratio_passe_partout()
// =========================================================================
// process_image_reduire()
// =========================================================================
// GetPixelColor()
// =========================================================================
// LittleEndian2String()
// =========================================================================
// GD2ICOstring()
// =========================================================================
}

73
tests/FiltresImagesMiniTest.php

@ -0,0 +1,73 @@
<?php
declare(strict_types=1);
include_once('/vagrant/spip/ecrire/inc/filtres_images_mini.php');
use PHPUnit\Framework\TestCase;
final class FiltresImagesMiniTest extends TestCase
{
public function test_couleur_html_to_hex_avec_valeur_valide(): void
{
$this->assertEquals(
'FFFFFF',
couleur_html_to_hex('white')
);
}
public function test_couleur_html_to_hex_avec_valeur_invalide(): void
{
$this->assertEquals(
'le ciel de novembre',
couleur_html_to_hex('le ciel de novembre')
);
}
public function test_couleur_foncer_avec_blanc(): void
{
$this->assertEquals(
'7f0700',
couleur_foncer('fff')
);
}
public function test_couleur_foncer_avec_noir(): void
{
$this->assertEquals(
'000000',
couleur_foncer('000000')
);
}
public function test_couleur_eclaircir_avec_blanc(): void
{
$this->assertEquals(
'ffffff',
couleur_eclaircir('ffffff')
);
}
public function test_couleur_eclaircir_avec_noir(): void
{
$this->assertEquals(
'808080',
couleur_eclaircir('000000')
);
}
public function test_filtre_couleur_saturation_dist_avec_blanc(): void
{
$this->assertEquals(
'ffffff',
filtre_couleur_saturation_dist('ffffff', .25)
);
}
public function test_filtre_couleur_saturation_dist_avec_noir(): void
{
$this->assertEquals(
'000000',
filtre_couleur_saturation_dist('000000', .25)
);
}
}
Loading…
Cancel
Save