--- /dev/null
+<?php\r
+if (!defined("_ECRIRE_INC_VERSION")) return;\r
+\r
+ // nom du test\r
+ $test = 'cfg:depot_metapack';\r
+\r
+ // recherche test.inc qui nous ouvre au monde spip\r
+ $deep = 2;\r
+ $include = '../../tests/test.inc';\r
+ while (!defined('_SPIP_TEST_INC') && $deep++ < 6) {\r
+ $include = '../' . $include;\r
+ @include $include;\r
+ }\r
+ if (!defined('_SPIP_TEST_INC')) {\r
+ die("Pas de $include");\r
+ }\r
+\r
+\r
+### lire_config ###\r
+\r
+ $meta = $GLOBALS['meta'];\r
+ \r
+ // les bases de test\r
+ $assoc = array(\r
+ 'one' => 'element 1',\r
+ 'two' => 'element 2',\r
+ 'three' => array('un'=>1, 'deux'=>2, 'troisc'=>"3")\r
+\r
+ );\r
+ $serassoc = serialize($assoc);\r
+ \r
+ // on flingue meta a juste nos donnees\r
+ $GLOBALS['meta'] = array(\r
+ 'zero' => serialize(0),\r
+ 'zeroc' => serialize('0'),\r
+ 'chaine' => serialize('une chaine'),\r
+ 'assoc' => serialize($assoc),\r
+ 'serie' => serialize(serialize($assoc))\r
+ );\r
+\r
+ // racine\r
+ $essais[] = array(0, 'metapack::zero');\r
+ $essais[] = array('0', 'metapack::zeroc');\r
+ $essais[] = array('une chaine', 'metapack::chaine');\r
+ $essais[] = array($assoc, 'metapack::assoc');\r
+ $essais[] = array(serialize($assoc), 'metapack::serie');\r
+ $essais[] = array(null, 'metapack::rien');\r
+ $essais[] = array('defaut', 'metapack::rien','defaut');\r
+ // chemins\r
+ $essais[] = array($assoc, 'metapack::assoc/');\r
+ $essais[] = array('element 1', 'metapack::assoc/one');\r
+ $essais[] = array(array('un'=>1, 'deux'=>2, 'troisc'=>"3"), 'metapack::assoc/three');\r
+ $essais[] = array(1, 'metapack::assoc/three/un');\r
+ $essais[] = array('3', 'metapack::assoc/three/troisc');\r
+ // racourcis\r
+ $essais[] = array($assoc, 'assoc/');\r
+ $essais[] = array('element 1', 'assoc/one');\r
+ \r
+ $err = tester_fun('lire_config', $essais);\r
+\r
+ // retablissement des metas\r
+ $GLOBALS['meta']=$meta;\r
+ \r
+ // si le tableau $err est pas vide ca va pas\r
+ if ($err) {\r
+ die ('<b>lire_config metapack</b><dl>' . join('', $err) . '</dl>');\r
+ }\r
+\r
+### ecrire_config ###\r
+\r
+ $essais = array();\r
+ $essais[] = array(true, 'metapack::test_cfg_zero', 0);\r
+ $essais[] = array(true, 'metapack::test_cfg_zeroc', '0');\r
+ $essais[] = array(true, 'metapack::test_cfg_chaine', 'une chaine'); \r
+ $essais[] = array(true, 'metapack::test_cfg_assoc', $assoc);\r
+ $essais[] = array(true, 'metapack::test_cfg_serie', serialize($assoc));\r
+ // chemins\r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier', $assoc);\r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/truc', 'trac');\r
+ \r
+ $err = tester_fun('ecrire_config', $essais);\r
+ \r
+ // si le tableau $err est pas vide ca va pas\r
+ if ($err) {\r
+ die ('<b>ecrire_config metapack</b><dl>' . join('', $err) . '</dl>');\r
+ }\r
+ \r
+### re lire_config ###\r
+\r
+ $essais = array();\r
+ $essais[] = array(0, 'metapack::test_cfg_zero');\r
+ $essais[] = array('0', 'metapack::test_cfg_zeroc');\r
+ $essais[] = array('une chaine', 'metapack::test_cfg_chaine'); \r
+ $essais[] = array($assoc, 'metapack::test_cfg_assoc');\r
+ $essais[] = array(serialize($assoc), 'metapack::test_cfg_serie');\r
+ // chemins\r
+ $essais[] = array($assoc + array('truc'=>'trac'), 'metapack::test_cfg_chemin/casier');\r
+ $essais[] = array('trac', 'metapack::test_cfg_chemin/casier/truc');\r
+ $essais[] = array(1, 'metapack::test_cfg_chemin/casier/three/un');\r
+ // chemin pas la\r
+ $essais[] = array(null, 'metapack::test_cfg_chemin/casier/three/huit');\r
+ \r
+ $err = tester_fun('lire_config', $essais);\r
+ \r
+ // si le tableau $err est pas vide ca va pas\r
+ if ($err) {\r
+ die ('<b>relecture ecrire_config metapack</b><dl>' . join('', $err) . '</dl>');\r
+ }\r
+\r
+### re effacer_config ###\r
+\r
+ $essais = array();\r
+ $essais[] = array(true, 'metapack::test_cfg_zero');\r
+ $essais[] = array(true, 'metapack::test_cfg_zeroc');\r
+ $essais[] = array(true, 'metapack::test_cfg_chaine'); \r
+ $essais[] = array(true, 'metapack::test_cfg_assoc');\r
+ $essais[] = array(true, 'metapack::test_cfg_serie');\r
+ // chemins\r
+ // on enleve finement tout test_cfg_chemin : il ne doit rien rester\r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/three/huit'); // n'existe pas\r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/three/troisc');\r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/three/deux');\r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/three/un'); // supprime three\r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/one'); \r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/two'); \r
+ $essais[] = array(true, 'metapack::test_cfg_chemin/casier/truc'); // supprimer chemin/casier\r
+\r
+ $err = tester_fun('effacer_config', $essais);\r
+ \r
+ // si le tableau $err est pas vide ca va pas\r
+ if ($err) {\r
+ die ('<b>effacer_config metapack</b><dl>' . join('', $err) . '</dl>');\r
+ }\r
+\r
+ \r
+### re lire_config ###\r
+\r
+ $essais = array();\r
+ $essais[] = array(null, 'metapack::test_cfg_zero');\r
+ $essais[] = array(null, 'metapack::test_cfg_zeroc');\r
+ $essais[] = array(null, 'metapack::test_cfg_chaine'); \r
+ $essais[] = array(null, 'metapack::test_cfg_assoc');\r
+ $essais[] = array(null, 'metapack::test_cfg_serie');\r
+ $essais[] = array(null, 'metapack::test_cfg_chemin');\r
+\r
+ $err = tester_fun('lire_config', $essais);\r
+ \r
+ // si le tableau $err est pas vide ca va pas\r
+ if ($err) {\r
+ die ('<b>relecture effacer_config metapack</b><dl>' . join('', $err) . '</dl>');\r
+ }\r
+\r
+ \r
+ echo "OK";\r
+\r
+?>\r