[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / cfg / tests / depot_tablepack.php
1 <?php
2 if (!defined("_ECRIRE_INC_VERSION")) return;
3
4 // nom du test
5 $test = 'cfg:depot_tablepack';
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 ### creation de la colonne cfg si absente ###
20
21 // creation de la colonne 'cfg' sur spip_auteurs si elle n'existe pas.
22 include_spip('base/abstract_sql');
23 $t = sql_showtable('spip_auteurs');
24 if (!isset($t['field']['cfg'])) {
25 sql_alter('TABLE spip_auteurs ADD COLUMN cfg TEXT DEFAULT \'\' NOT NULL');
26 }
27
28 ### creation de la colonne 'extra' si absente ###
29
30 // creation de la colonne 'cfg' sur spip_auteurs si elle n'existe pas.
31 include_spip('base/abstract_sql');
32 $t = sql_showtable('spip_rubriques');
33 if (!isset($t['field']['extra'])) {
34 sql_alter('TABLE spip_rubriques ADD COLUMN extra TEXT DEFAULT \'\' NOT NULL');
35 }
36
37
38 ### ecrire_config ###
39 // les bases de test
40 $assoc = array(
41 'one' => 'element 1',
42 'two' => 'element 2',
43 'three' => array('un'=>1, 'deux'=>2, 'troisc'=>"3")
44
45 );
46 $serassoc = serialize($assoc);
47
48
49 $essais = array();
50 $essais[] = array(true, 'tablepack::~/test_cfg_zero', 0);
51 $essais[] = array(true, 'tablepack::~/test_cfg_zeroc', '0');
52 $essais[] = array(true, 'tablepack::~/test_cfg_chaine', 'une chaine');
53 $essais[] = array(true, 'tablepack::~/test_cfg_assoc', $assoc);
54 $essais[] = array(true, 'tablepack::~/test_cfg_serie', serialize($assoc));
55 // chemins
56 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier', $assoc);
57 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/truc', 'trac');
58 // dans rubriques
59 $id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques', '', '', '', '0,1');
60 $essais[] = array(true, "tablepack::rubriques@extra:$id_rubrique/test_cfg_chemin/casier/truc", 'trac');
61 $essais[] = array(true, "tablepack::rubrique@extra:$id_rubrique/test_cfg_chemin/casier/chose", 'trac');
62
63 $err = tester_fun('ecrire_config', $essais);
64
65 // si le tableau $err est pas vide ca va pas
66 if ($err) {
67 die ('<b>ecrire_config tablepack</b><dl>' . join('', $err) . '</dl>');
68 }
69
70 ### re lire_config ###
71
72 $essais = array();
73 $essais[] = array(0, 'tablepack::~/test_cfg_zero');
74 $essais[] = array('0', 'tablepack::~/test_cfg_zeroc');
75 $essais[] = array('une chaine', 'tablepack::~/test_cfg_chaine');
76 $essais[] = array($assoc, 'tablepack::~/test_cfg_assoc');
77 $essais[] = array(serialize($assoc), 'tablepack::~/test_cfg_serie');
78 // chemins
79 $essais[] = array($assoc + array('truc'=>'trac'), 'tablepack::~/test_cfg_chemin/casier');
80 $essais[] = array('trac', 'tablepack::~/test_cfg_chemin/casier/truc');
81 $essais[] = array(1, 'tablepack::~/test_cfg_chemin/casier/three/un');
82 // chemin pas la
83 $essais[] = array(null, 'tablepack::~/test_cfg_chemin/casier/three/huit');
84 // dans rubrique
85 $essais[] = array('trac', "tablepack::rubriques@extra:$id_rubrique/test_cfg_chemin/casier/truc");
86 $essais[] = array('trac', "tablepack::rubrique@extra:$id_rubrique/test_cfg_chemin/casier/chose");
87
88 $err = tester_fun('lire_config', $essais);
89
90 // si le tableau $err est pas vide ca va pas
91 if ($err) {
92 die ('<b>relecture ecrire_config tablepack</b><dl>' . join('', $err) . '</dl>');
93 }
94
95 ### re effacer_config ###
96
97 $essais = array();
98 $essais[] = array(true, 'tablepack::~/test_cfg_zero');
99 $essais[] = array(true, 'tablepack::~/test_cfg_zeroc');
100 $essais[] = array(true, 'tablepack::~/test_cfg_chaine');
101 $essais[] = array(true, 'tablepack::~/test_cfg_assoc');
102 $essais[] = array(true, 'tablepack::~/test_cfg_serie');
103 // chemins
104 // on enleve finement tout test_cfg_chemin : il ne doit rien rester
105 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/three/huit'); // n'existe pas
106 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/three/troisc');
107 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/three/deux');
108 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/three/un'); // supprime three
109 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/one');
110 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/two');
111 $essais[] = array(true, 'tablepack::~/test_cfg_chemin/casier/truc'); // supprimer chemin/casier
112 // dans rubrique
113 $essais[] = array(true, "tablepack::rubriques@extra:$id_rubrique/test_cfg_chemin/casier/truc");
114 $essais[] = array(true, "tablepack::rubrique@extra:$id_rubrique/test_cfg_chemin/casier/chose");
115
116 $err = tester_fun('effacer_config', $essais);
117
118 // si le tableau $err est pas vide ca va pas
119 if ($err) {
120 die ('<b>effacer_config tablepack</b><dl>' . join('', $err) . '</dl>');
121 }
122
123
124 ### re lire_config ###
125
126 $essais = array();
127 $essais[] = array(null, 'tablepack::~/test_cfg_zero');
128 $essais[] = array(null, 'tablepack::~/test_cfg_zeroc');
129 $essais[] = array(null, 'tablepack::~/test_cfg_chaine');
130 $essais[] = array(null, 'tablepack::~/test_cfg_assoc');
131 $essais[] = array(null, 'tablepack::~/test_cfg_serie');
132 $essais[] = array(null, 'tablepack::~/test_cfg_chemin');
133 // dans rubrique
134 $essais[] = array(null, "tablepack::rubriques@extra:$id_rubrique/test_cfg_chemin/casier/truc");
135 $essais[] = array(null, "tablepack::rubrique@extra:$id_rubrique/test_cfg_chemin/casier/chose");
136 $essais[] = array(null, "tablepack::rubriques@extra:$id_rubrique/test_cfg_chemin");
137
138 $err = tester_fun('lire_config', $essais);
139
140 // si le tableau $err est pas vide ca va pas
141 if ($err) {
142 die ('<b>relecture effacer_config tablepack</b><dl>' . join('', $err) . '</dl>');
143 }
144
145
146 echo "OK";
147
148 ?>