[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / cfg / tests / depot_meta.php
1 <?php
2 if (!defined("_ECRIRE_INC_VERSION")) return;
3
4 // nom du test
5 $test = 'cfg:depot_meta';
6
7 // recherche test.inc qui nous ouvre au monde spip
8 $deep = 2;
9 $include = '../../tests/test.inc';
10 while (!defined('_SPIP_TEST_INC') && $deep++ < 6) {
11 $include = '../' . $include;
12 @include $include;
13 }
14 if (!defined('_SPIP_TEST_INC')) {
15 die("Pas de $include");
16 }
17
18
19 ### lire_config meta ###
20
21 $meta = $GLOBALS['meta'];
22
23 // les bases de test
24 $assoc = array('one' => 'element 1', 'two' => 'element 2');
25 $serassoc = serialize($assoc);
26
27 // on flingue meta a juste nos donnees
28 $GLOBALS['meta'] = array(
29 'zero' => 0,
30 'zeroc' => '0',
31 'chaine' => 'une chaine',
32 'assoc' => $assoc,
33 'serie' => serialize($assoc)
34 );
35
36 $essais[] = array(0, 'zero');
37 $essais[] = array('0', 'zeroc');
38 $essais[] = array('une chaine', 'chaine');
39 $essais[] = array($assoc, 'assoc');
40 $essais[] = array($assoc, 'serie');
41 $essais[] = array(serialize($assoc), 'serie','',0);
42 $essais[] = array(null, 'rien');
43 $essais[] = array('defaut', 'rien','defaut');
44
45 $err = tester_fun('lire_config', $essais);
46
47 // retablissement des metas
48 $GLOBALS['meta']=$meta;
49
50 // si le tableau $err est pas vide ca va pas
51 if ($err) {
52 die ('<b>lire_config meta</b><dl>' . join('', $err) . '</dl>');
53 }
54
55 ### ecrire_config meta ###
56
57 /*
58 * Notes sur l'ecriture :
59 * - dans le tableau $GLOBALS['meta'], les valeurs transmises
60 * conservent effectivement leur type
61 * - si l'on applique un lire_metas() (reecriture du tableau $GLOBALS['meta']
62 * depuis les informations de la table spip_meta, les types de valeurs
63 * sont tous des types string (puisque la colonne 'valeur' de spip_meta est
64 * varchar (ou text).
65 * - 0 devient alors '0'
66 * - array(xxx) devient 'Array'
67 *
68 * Cela ne se produit pas avec le depot 'metapack' qui serialize systematiquement
69 * tout ce qu'on lui donne (et peut donc restituer le type de donnee correctement).
70 *
71 */
72 $essais = array();
73 $essais[] = array(true, 'test_cfg_zero', 0);
74 $essais[] = array(true, 'test_cfg_zeroc', '0');
75 $essais[] = array(true, 'test_cfg_chaine', 'une chaine');
76 $essais[] = array(true, 'test_cfg_assoc', $assoc);
77 $essais[] = array(true, 'test_cfg_serie', serialize($assoc));
78
79 $err = tester_fun('ecrire_config', $essais);
80
81 // si le tableau $err est pas vide ca va pas
82 if ($err) {
83 die ('<b>ecrire_config meta</b><dl>' . join('', $err) . '</dl>');
84 }
85
86 ### re lire_config meta ###
87
88 $essais = array();
89 $essais[] = array(0, 'test_cfg_zero');
90 $essais[] = array('0', 'test_cfg_zeroc');
91 $essais[] = array('une chaine', 'test_cfg_chaine');
92 $essais[] = array($assoc, 'test_cfg_assoc');
93 $essais[] = array(serialize($assoc), 'test_cfg_serie','',0);
94
95 $err = tester_fun('lire_config', $essais);
96
97 // si le tableau $err est pas vide ca va pas
98 if ($err) {
99 die ('<b>relecture ecrire_config meta</b><dl>' . join('', $err) . '</dl>');
100 }
101
102 ### re effacer_config meta ###
103
104 $essais = array();
105 $essais[] = array(true, 'test_cfg_zero');
106 $essais[] = array(true, 'test_cfg_zeroc');
107 $essais[] = array(true, 'test_cfg_chaine');
108 $essais[] = array(true, 'test_cfg_assoc');
109 $essais[] = array(true, 'test_cfg_serie');
110
111 $err = tester_fun('effacer_config', $essais);
112
113 // si le tableau $err est pas vide ca va pas
114 if ($err) {
115 die ('<b>effacer_config meta</b><dl>' . join('', $err) . '</dl>');
116 }
117
118
119 ### re lire_config meta ###
120
121 $essais = array();
122 $essais[] = array(null, 'test_cfg_zero');
123 $essais[] = array(null, 'test_cfg_zeroc');
124 $essais[] = array(null, 'test_cfg_chaine');
125 $essais[] = array(null, 'test_cfg_assoc');
126 $essais[] = array(null, 'test_cfg_serie');
127
128 $err = tester_fun('lire_config', $essais);
129
130 // si le tableau $err est pas vide ca va pas
131 if ($err) {
132 die ('<b>relecture effacer_config meta</b><dl>' . join('', $err) . '</dl>');
133 }
134
135
136 echo "OK";
137
138 ?>