Browse Source

test informer sur tous les formats supportes

pull/4414/head
Cerdic 2 years ago
parent
commit
57869afed0
  1. 70
      tests/02_informer_archives.php
  2. 3
      tests/TestCase.inc

70
tests/02_informer_archives.php

@ -20,43 +20,53 @@ archiviste_nettoyer_environnement_test();
include_spip('inc/archives');
$fichier = archiviste_fichier_de_test('zip');
archiviste_generer_archive_de_test($fichier, 'zip');
$destination = archiviste_repertoire_de_test();
$archive = new SpipArchives($fichier);
foreach (SpipArchives::compressionsConnues as $format){
$infos = $archive->informer();
if (!$infos) {
var_dump($archive->erreur(),$archive->message());
archiviste_finir_test("Echec archive->informer()", $destination);
}
$fichier = archiviste_fichier_de_test($format);
archiviste_generer_archive_de_test($fichier, $format);
if (empty($infos['fichiers'])) {
var_dump($infos);
archiviste_finir_test("Entree fichiers manquante dans archive->informer()", $destination);
}
if (count($infos['fichiers']) !== 2) {
archiviste_finir_test("Echec archive->informer()", $destination);
}
if (!archiviste_trouver_fichier('test.txt', $infos['fichiers'])) {
archiviste_finir_test("Fichier test.txt absent de archive->informer()", $destination);
}
if (!archiviste_trouver_fichier('sousrep/fichier', $infos['fichiers'])) {
archiviste_finir_test("Fichier sousrep/fichier absent de archive->informer()", $destination);
}
$archive = new SpipArchives($fichier);
if (empty($infos['proprietes'])) {
var_dump($infos);
archiviste_finir_test("Entree proprietes manquante dans archive->informer()", $destination);
}
$infos = $archive->informer();
if (!$infos){
var_dump($archive->erreur(), $archive->message());
archiviste_finir_test("[$format] Echec archive->informer()", $destination);
}
if ($infos['proprietes']['racine'] !== '') {
var_dump($infos);
archiviste_finir_test("Entree proprietes/racine incorrecte dans archive->informer()", $destination);
}
if (!isset($infos['fichiers'])){
var_dump($infos);
archiviste_finir_test("[$format] Entree fichiers manquante dans archive->informer()", $destination);
}
if (empty($infos['fichiers'])){
var_dump($infos);
archiviste_finir_test("[$format] Entree fichiers vide dans archive->informer()", $destination);
}
if (count($infos['fichiers'])!==2){
archiviste_finir_test("[$format] Echec archive->informer()", $destination);
}
if (!archiviste_trouver_fichier('test.txt', $infos['fichiers'])){
archiviste_finir_test("[$format] Fichier test.txt absent de archive->informer()", $destination);
}
if (!archiviste_trouver_fichier('sousrep/fichier', $infos['fichiers'])){
archiviste_finir_test("[$format] Fichier sousrep/fichier absent de archive->informer()", $destination);
}
if (empty($infos['proprietes'])){
var_dump($infos);
archiviste_finir_test("[$format] Entree proprietes manquante dans archive->informer()", $destination);
}
if ($infos['proprietes']['racine']!==''){
var_dump($infos);
archiviste_finir_test("[$format] Entree proprietes/racine incorrecte dans archive->informer()", $destination);
}
archiviste_nettoyer_contenu_de_test(archiviste_contenu_de_test(), $destination);
archiviste_nettoyer_environnement_test();
}
archiviste_finir_test(false, $destination);

3
tests/TestCase.inc

@ -73,6 +73,9 @@ function archiviste_generer_archive_de_test($archivefile, $format)
$archivefile = realpath(dirname($archivefile)) . '/' . basename($archivefile);
switch ($format) {
case 'tar':
passthru($cmd = "cd $dir_base && tar -cf $archivefile ".implode(" ", $files_list));
break;
case 'zip':
default:
passthru($cmd = "cd $dir_base && zip -q $archivefile ".implode(" ", $files_list));

Loading…
Cancel
Save