X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Fauto%2Fcfg%2Ftests%2Fdepot_meta.php;fp=www%2Fplugins%2Fauto%2Fcfg%2Ftests%2Fdepot_meta.php;h=3defd8a7d5ed60b610989e9ed4c80096aa4e2827;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c
diff --git a/www/plugins/auto/cfg/tests/depot_meta.php b/www/plugins/auto/cfg/tests/depot_meta.php
new file mode 100644
index 0000000..3defd8a
--- /dev/null
+++ b/www/plugins/auto/cfg/tests/depot_meta.php
@@ -0,0 +1,138 @@
+ 'element 1', 'two' => 'element 2');
+ $serassoc = serialize($assoc);
+
+ // on flingue meta a juste nos donnees
+ $GLOBALS['meta'] = array(
+ 'zero' => 0,
+ 'zeroc' => '0',
+ 'chaine' => 'une chaine',
+ 'assoc' => $assoc,
+ 'serie' => serialize($assoc)
+ );
+
+ $essais[] = array(0, 'zero');
+ $essais[] = array('0', 'zeroc');
+ $essais[] = array('une chaine', 'chaine');
+ $essais[] = array($assoc, 'assoc');
+ $essais[] = array($assoc, 'serie');
+ $essais[] = array(serialize($assoc), 'serie','',0);
+ $essais[] = array(null, 'rien');
+ $essais[] = array('defaut', 'rien','defaut');
+
+ $err = tester_fun('lire_config', $essais);
+
+ // retablissement des metas
+ $GLOBALS['meta']=$meta;
+
+ // si le tableau $err est pas vide ca va pas
+ if ($err) {
+ die ('lire_config meta
' . join('', $err) . '
');
+ }
+
+### ecrire_config meta ###
+
+ /*
+ * Notes sur l'ecriture :
+ * - dans le tableau $GLOBALS['meta'], les valeurs transmises
+ * conservent effectivement leur type
+ * - si l'on applique un lire_metas() (reecriture du tableau $GLOBALS['meta']
+ * depuis les informations de la table spip_meta, les types de valeurs
+ * sont tous des types string (puisque la colonne 'valeur' de spip_meta est
+ * varchar (ou text).
+ * - 0 devient alors '0'
+ * - array(xxx) devient 'Array'
+ *
+ * Cela ne se produit pas avec le depot 'metapack' qui serialize systematiquement
+ * tout ce qu'on lui donne (et peut donc restituer le type de donnee correctement).
+ *
+ */
+ $essais = array();
+ $essais[] = array(true, 'test_cfg_zero', 0);
+ $essais[] = array(true, 'test_cfg_zeroc', '0');
+ $essais[] = array(true, 'test_cfg_chaine', 'une chaine');
+ $essais[] = array(true, 'test_cfg_assoc', $assoc);
+ $essais[] = array(true, 'test_cfg_serie', serialize($assoc));
+
+ $err = tester_fun('ecrire_config', $essais);
+
+ // si le tableau $err est pas vide ca va pas
+ if ($err) {
+ die ('ecrire_config meta' . join('', $err) . '
');
+ }
+
+### re lire_config meta ###
+
+ $essais = array();
+ $essais[] = array(0, 'test_cfg_zero');
+ $essais[] = array('0', 'test_cfg_zeroc');
+ $essais[] = array('une chaine', 'test_cfg_chaine');
+ $essais[] = array($assoc, 'test_cfg_assoc');
+ $essais[] = array(serialize($assoc), 'test_cfg_serie','',0);
+
+ $err = tester_fun('lire_config', $essais);
+
+ // si le tableau $err est pas vide ca va pas
+ if ($err) {
+ die ('relecture ecrire_config meta' . join('', $err) . '
');
+ }
+
+### re effacer_config meta ###
+
+ $essais = array();
+ $essais[] = array(true, 'test_cfg_zero');
+ $essais[] = array(true, 'test_cfg_zeroc');
+ $essais[] = array(true, 'test_cfg_chaine');
+ $essais[] = array(true, 'test_cfg_assoc');
+ $essais[] = array(true, 'test_cfg_serie');
+
+ $err = tester_fun('effacer_config', $essais);
+
+ // si le tableau $err est pas vide ca va pas
+ if ($err) {
+ die ('effacer_config meta' . join('', $err) . '
');
+ }
+
+
+### re lire_config meta ###
+
+ $essais = array();
+ $essais[] = array(null, 'test_cfg_zero');
+ $essais[] = array(null, 'test_cfg_zeroc');
+ $essais[] = array(null, 'test_cfg_chaine');
+ $essais[] = array(null, 'test_cfg_assoc');
+ $essais[] = array(null, 'test_cfg_serie');
+
+ $err = tester_fun('lire_config', $essais);
+
+ // si le tableau $err est pas vide ca va pas
+ if ($err) {
+ die ('relecture effacer_config meta' . join('', $err) . '
');
+ }
+
+
+ echo "OK";
+
+?>