[SPIP] v3.2.12 -> v3.2.12 - Reinstallation avec le spip_loader
[lhc/web/www.git] / www / plugins-dist / archiviste / tests / TestCase.inc
1 <?php
2
3 /**
4 * Cas de tests pour SpipArchives
5 */
6
7 function inconnu()
8 {
9 static $inconnu = '';
10
11 if ('' === $inconnu) {
12 $inconnu = md5(rand());
13 }
14
15 return $inconnu;
16 }
17
18 function repertoire_de_test()
19 {
20 return _NOM_TEMPORAIRES_INACCESSIBLES . 'archive_dir_test' . inconnu();
21 }
22
23 function definir_fichiers_de_test()
24 {
25 $fichiers_de_test = array(
26 'sans_extension' => 'archives_test',
27 'extension_inconnue' => 'archives_test.' . inconnu(),
28 'zip' => 'archives_test' . inconnu() . '.zip',
29 'faux_amis' => 'fichier_test_zip',
30 );
31
32 return $fichiers_de_test;
33 }
34
35 function fichier_de_test($case)
36 {
37 $fichiers = definir_fichiers_de_test();
38
39 return _NOM_TEMPORAIRES_INACCESSIBLES . $fichiers[$case];
40 }
41
42 function contenu_de_test()
43 {
44 return array(
45 'test.txt' => 'contenu de test',
46 'sousrep' => array(
47 'fichier' => '',
48 ),
49 );
50 }
51
52 function nettoyer_environnement_test()
53 {
54 foreach (definir_fichiers_de_test() as $case => $nom_fichier) {
55 if (is_file(fichier_de_test($case))) {
56 unlink(fichier_de_test($case));
57 }
58 }
59
60 nettoyer_contenu_de_test(contenu_de_test());
61 @rmdir(repertoire_de_test());
62 }
63
64 function nettoyer_contenu_de_test(array $fichiers = array(), $arborescence = '')
65 {
66 if ($arborescence == '') {
67 $arborescence = repertoire_de_test();
68 }
69
70 foreach ($fichiers as $fichier => $contenu) {
71 if (is_array($contenu)) {
72 nettoyer_contenu_de_test($contenu, $arborescence . ' /' . $fichier);
73 if (is_dir($arborescence . ' /' . $fichier)) {
74 rmdir($arborescence . ' /' . $fichier);
75 }
76 } elseif (file_exists($arborescence . '/' . $fichier)) {
77 unlink($arborescence . '/' . $fichier);
78 }
79 }
80 }