source: trunk/spip/esqueleto-redcta/plugins/cfg/tests/depot_meta.php @ 152

Last change on this file since 152 was 152, checked in by guille, 15 years ago

se agregaron svn_update y cfg para el 2.0

File size: 3.7 KB
Line 
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?>
Note: See TracBrowser for help on using the repository browser.