[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / cfg / tests / depot_metapack.php
diff --git a/www/plugins/auto/cfg/tests/depot_metapack.php b/www/plugins/auto/cfg/tests/depot_metapack.php
new file mode 100644 (file)
index 0000000..22c0e22
--- /dev/null
@@ -0,0 +1,156 @@
+<?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