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