diff --git a/inc/spip_simpletest.php b/inc/spip_simpletest.php index 1289a6f9d232cfe1dfe0f98e2282d0510d7fbeca..b34e0be5cd00dab64d9a1f4a388f4bd9a9c4b641 100644 --- a/inc/spip_simpletest.php +++ b/inc/spip_simpletest.php @@ -1,6 +1,6 @@ <?php -include_spip('simpletest/autorun'); +include_spip('tests/simpletest/autorun'); include_spip('inc/autoriser'); if (!autoriser('configurer')) { diff --git a/index.php b/index.php index 73245419df6d6cbec96e9dd4e9682d02e95f19fc..82a5cf1109023642301f3ee7e66f236d9da2af55 100644 --- a/index.php +++ b/index.php @@ -17,8 +17,13 @@ AND (false === strpos($test, _DIR_CACHE))) { die("Squelette de test hors d'un répertoire autorisé"); } - include_spip('inc/lang'); - return recuperer_fond($test, $_GET); + $fond = $test; // squelette désiré + // pas de boutons d'admin + set_request('fond', null); + set_request('test', null); + set_request('simpletest', null); + include _DIR_RESTREINT_ABS.'public.php'; + die(); } // pas admin ? passe ton chemin (ce script est un vilain trou de securite) diff --git a/test.inc b/test.inc index 6d62a7c6698fdbb7ea40e2f358d81b83a7be8f35..4af89dc025d8638cb8d45986a2567cf63ee1e8b0 100644 --- a/test.inc +++ b/test.inc @@ -21,8 +21,6 @@ if (!defined('_VAR_MODE')) { define('_VAR_MODE', 'recalcul'); } -// activer simpletest -_chemin(basename(_SPIP_TEST_INC)); // pour notice sur recuperer_fond() if (!isset($GLOBALS['spip_lang'])) { @@ -43,7 +41,21 @@ if ((!isset($GLOBALS['visiteur_session']['statut']) die('Administrateur local requis !'); } -/*** +/** + * Fonction pour démarrer les tests simpletest. +**/ +function demarrer_simpletest() { + if (!defined('_ECRIRE_INC_VERSION')) { + die("<strong>Echec :</strong> SPIP ne peut pas etre demarre automatiquement pour le test.<br /> + Vous utilisez certainement un lien symbolique dans votre repertoire plugins."); + } + include_spip('tests/inc/spip_simpletest'); + if (!class_exists('SpipTestSuite')) { + die("<strong>Echec :</strong> le plugin pour les tests unitaires avec SimpleTest ne semble pas actif."); + } +} + +/** * fonction pas obligatoire a utiliser mais qui simplifie la vie du testeur * $fun: le nom de la fonction a tester * $essais: un tableau d'items array(résultat, arg1, arg2 ...) a tester diff --git a/unit/simpletest/_spipTest/lanceur_spip.php b/unit/simpletest/_spipTest/lanceur_spip.php index 74149b7cd14760fcd38c766846f7afa1c6fdb809..f7ebd48392532dda18d76e56e715733d772f32f5 100644 --- a/unit/simpletest/_spipTest/lanceur_spip.php +++ b/unit/simpletest/_spipTest/lanceur_spip.php @@ -1,27 +1,11 @@ <?php /** - * Ce fichier permet de lancer SPIP - * pour obtenir ses fonctions depuis - * les jeux de tests unitaires (simpletest) - * des plugins - * - * Il verifie aussi la presence du plugin simpleTest - * + * Démarre SPIP afin d'obtenir ses fonctions depuis + * les jeux de tests unitaires de type simpletest */ -$version_lanceur = '1.0.0'; - - $remonte = "../"; while (!is_dir($remonte."ecrire")) $remonte = "../$remonte"; require $remonte.'tests/test.inc'; -if (!defined('_ECRIRE_INC_VERSION')) { - die("<strong>Echec :</strong> SPIP ne peut pas etre demarre automatiquement pour le test.<br /> - Vous utilisez certainement un lien symbolique dans votre repertoire plugins."); -} -include_spip('inc/spip_simpletest'); -if (!class_exists('SpipTestSuite')) { - die("<strong>Echec :</strong> le plugin pour les tests unitaires avec SimpleTest ne semble pas actif."); -} - +demarrer_simpletest(); diff --git a/unit/simpletest/_spipTest/recuperer_code.php b/unit/simpletest/_spipTest/recuperer_code.php index 55ae6c82a5d16a9ac7704eb318c668e0074dbcfb..2bfbaeb6cde128bcc708c9497b6f33fc7aa00140 100644 --- a/unit/simpletest/_spipTest/recuperer_code.php +++ b/unit/simpletest/_spipTest/recuperer_code.php @@ -4,7 +4,7 @@ require_once('lanceur_spip.php'); class Test_SpipTestRecupererCode extends SpipTest{ function testRecupererFond(){ - $this->assertEqual('Hello World', recuperer_fond('unit/simpletest/core/inc/inclus_hello_world')); + $this->assertEqual('Hello World', recuperer_fond('tests/unit/simpletest/core/inc/inclus_hello_world')); } function testRecupererCode(){ $this->assertEqualCode('Hello World','Hello World'); diff --git a/unit/simpletest/core/balise_session.php b/unit/simpletest/core/balise_session.php index 6f17e5f18e35338dc5853512f2c647d66aea246b..a010a28e530c163c93f2cb23e798afecdae9ab27 100644 --- a/unit/simpletest/core/balise_session.php +++ b/unit/simpletest/core/balise_session.php @@ -1,7 +1,7 @@ <?php require_once('lanceur_spip.php'); -include_spip('simpletest/browser'); -include_spip('simpletest/web_tester'); +include_spip('tests/simpletest/browser'); +include_spip('tests/simpletest/web_tester'); include_spip('inc/texte'); class Test_balise_session extends SpipTest{ diff --git a/unit/simpletest/core/lanceur_spip.php b/unit/simpletest/core/lanceur_spip.php index 497653dee5e467d28c3c8e51794465f9ea8ddd80..fe64b3fc4f4dd1395427abcd785c6d3c226704e3 100644 --- a/unit/simpletest/core/lanceur_spip.php +++ b/unit/simpletest/core/lanceur_spip.php @@ -1,26 +1,12 @@ <?php /** - * Ce fichier permet de lancer SPIP - * pour obtenir ses fonctions depuis - * les jeux de tests unitaires (simpletest) - * des plugins - * - * Il verifie aussi la presence du plugin simpleTest - * + * Démarre SPIP afin d'obtenir ses fonctions depuis + * les jeux de tests unitaires de type simpletest */ -$version_lanceur = '1.0.0'; - $remonte = "../"; while (!is_dir($remonte."ecrire")) $remonte = "../$remonte"; require $remonte.'tests/test.inc'; -if (!defined('_ECRIRE_INC_VERSION')) { - die("<strong>Echec :</strong> SPIP ne peut pas etre demarre automatiquement pour le test.<br /> - Vous utilisez certainement un lien symbolique dans votre repertoire plugins."); -} -include_spip('inc/spip_simpletest'); -if (!class_exists('SpipTestSuite')) { - die("<strong>Echec :</strong> le plugin pour les tests unitaires avec SimpleTest ne semble pas actif."); -} +demarrer_simpletest(); diff --git a/unit/simpletest/dist/balises/config.php b/unit/simpletest/dist/balises/config.php index a21077bb8f8c59f2a7e69abab82f1c7f96aadfc7..344e91bcb016e794dd5ab24659d086c97a7be9c6 100644 --- a/unit/simpletest/dist/balises/config.php +++ b/unit/simpletest/dist/balises/config.php @@ -2,10 +2,10 @@ require_once('lanceur_spip.php'); class Test_balise_config extends SpipTest{ - + // initialisation function Test_balise_config() { - $this->SpipTest(); + parent::__construct(); $this->options_recuperer_code(array( 'fonctions'=>" function test_meta(\$raz = 0) { diff --git a/unit/simpletest/dist/balises/foreach.php b/unit/simpletest/dist/balises/foreach.php deleted file mode 100644 index f11a8d48d7ed0a4d6eb645f2201b8928a9e28a17..0000000000000000000000000000000000000000 --- a/unit/simpletest/dist/balises/foreach.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php -require_once('lanceur_spip.php'); - -class Test_balise_foreach extends SpipTest{ - - - function testPresenceBaliseConfig(){ - $this->assertOkCode('[(#CONFIG|oui)ok]'); - } - function testForeachConfigSimple(){ - $this->assertOkCode('[(#FOREACH{CONFIG}|oui)ok]'); - $this->assertOkCode("[(#FOREACH{CONFIG,''}|oui)ok]"); - } - function testForeachConfigUlLi(){ - $this->assertOkCode('[(#FOREACH{CONFIG,foreach_test_ul_li}|oui)ok]'); - } - function testForeachConfigAvecParams(){ - // pas array - $this->assertOkCode("[(#FOREACH{CONFIG,'',version_installee}|non)ok]"); - // array - $this->assertOkCode("[(#FOREACH{CONFIG,'',plugin}|oui)ok]"); - } -} - - -?> diff --git a/unit/simpletest/dist/balises/inclure.php b/unit/simpletest/dist/balises/inclure.php index 68e136506a21067788ecfdb1fd6d3482431c14e9..6896d6dc488ed8856dc12180ee2b56d630d94e13 100644 --- a/unit/simpletest/dist/balises/inclure.php +++ b/unit/simpletest/dist/balises/inclure.php @@ -1,41 +1,41 @@ <?php require_once('lanceur_spip.php'); -include_spip('simpletest/browser'); -include_spip('simpletest/web_tester'); +include_spip('tests/simpletest/browser'); +include_spip('tests/simpletest/web_tester'); class Test_inclure extends SpipTest{ function testInclureNormal(){ - $this->assertEqualCode('Hello World','<INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}>'); - $this->assertEqualCode('Hello World','<INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}/>'); + $this->assertEqualCode('Hello World','<INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}>'); + $this->assertEqualCode('Hello World','<INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}/>'); } function testInclureDouble(){ - $this->assertEqualCode('Hello WorldHello World','<INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}>' - .'<INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}>'); + $this->assertEqualCode('Hello WorldHello World','<INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}>' + .'<INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}>'); $this->assertEqualCode('Hello WorldHello World',' - <INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}>' - .'<INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}>'); + <INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}>' + .'<INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}>'); } function testInclureArray(){ $array = '#ARRAY{ - 0,unit/simpletest/core/inc/inclus_hello_world, - 1,unit/simpletest/core/inc/inclus_hello_world, - 2,unit/simpletest/core/inc/inclus_hello_world}'; + 0,tests/unit/simpletest/core/inc/inclus_hello_world, + 1,tests/unit/simpletest/core/inc/inclus_hello_world, + 2,tests/unit/simpletest/core/inc/inclus_hello_world}'; $this->assertEqualCode('Hello WorldHello WorldHello World',"<INCLURE{fond=$array}>"); } function testInclureNormalParam(){ - $this->assertEqualCode('Kitty','<INCLURE{fond=unit/simpletest/core/inc/inclus_param_test}{test=Kitty}>'); - $this->assertEqualCode('Kitty','<INCLURE{fond=unit/simpletest/core/inc/inclus_param_test}{test=Kitty}/>'); + $this->assertEqualCode('Kitty','<INCLURE{fond=tests/unit/simpletest/core/inc/inclus_param_test}{test=Kitty}>'); + $this->assertEqualCode('Kitty','<INCLURE{fond=tests/unit/simpletest/core/inc/inclus_param_test}{test=Kitty}/>'); } function testInclureArrayParam(){ $array = '#ARRAY{ - 0,unit/simpletest/core/inc/inclus_param_test, - 1,unit/simpletest/core/inc/inclus_hello_world, - 2,unit/simpletest/core/inc/inclus_param_test}'; + 0,tests/unit/simpletest/core/inc/inclus_param_test, + 1,tests/unit/simpletest/core/inc/inclus_hello_world, + 2,tests/unit/simpletest/core/inc/inclus_param_test}'; $this->assertEqualCode('KittyHello WorldKitty',"<INCLURE{fond=$array}{test=Kitty}>"); $this->assertEqualCode('KittyHello WorldKitty',"<INCLURE{fond=$array}{test=Kitty}/>"); } @@ -44,35 +44,35 @@ class Test_inclure extends SpipTest{ class Test_inclure_inline extends SpipTest{ function testInclureInlineNormal(){ - $this->assertEqualCode('Hello World','#INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}'); - $this->assertEqualCode('Hello World','[(#INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world})]'); + $this->assertEqualCode('Hello World','#INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}'); + $this->assertEqualCode('Hello World','[(#INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world})]'); } function testInclureDouble(){ - $this->assertEqualCode('Hello WorldHello World','#INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}' - .'#INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}'); + $this->assertEqualCode('Hello WorldHello World','#INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}' + .'#INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}'); $this->assertEqualCode('Hello WorldHello World',' - #INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}' - .'#INCLURE{fond=unit/simpletest/core/inc/inclus_hello_world}'); + #INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}' + .'#INCLURE{fond=tests/unit/simpletest/core/inc/inclus_hello_world}'); } function testInclureArray(){ $array = '#ARRAY{ - 0,unit/simpletest/core/inc/inclus_hello_world, - 1,unit/simpletest/core/inc/inclus_hello_world, - 2,unit/simpletest/core/inc/inclus_hello_world}'; + 0,tests/unit/simpletest/core/inc/inclus_hello_world, + 1,tests/unit/simpletest/core/inc/inclus_hello_world, + 2,tests/unit/simpletest/core/inc/inclus_hello_world}'; $this->assertEqualCode('Hello WorldHello WorldHello World',"#INCLURE{fond=$array}"); } function testInclureNormalParam(){ - $this->assertEqualCode('Kitty','[(#INCLURE{fond=unit/simpletest/core/inc/inclus_param_test}{test=Kitty})]'); - $this->assertEqualCode('Kitty','[(#INCLURE{fond=unit/simpletest/core/inc/inclus_param_test}{test=Kitty})]'); + $this->assertEqualCode('Kitty','[(#INCLURE{fond=tests/unit/simpletest/core/inc/inclus_param_test}{test=Kitty})]'); + $this->assertEqualCode('Kitty','[(#INCLURE{fond=tests/unit/simpletest/core/inc/inclus_param_test}{test=Kitty})]'); } function testInclureArrayParam(){ $array = '#ARRAY{ - 0,unit/simpletest/core/inc/inclus_param_test, - 1,unit/simpletest/core/inc/inclus_hello_world, - 2,unit/simpletest/core/inc/inclus_param_test}'; + 0,tests/unit/simpletest/core/inc/inclus_param_test, + 1,tests/unit/simpletest/core/inc/inclus_hello_world, + 2,tests/unit/simpletest/core/inc/inclus_param_test}'; $this->assertEqualCode('KittyHello WorldKitty',"[(#INCLURE{fond=$array}{test=Kitty})]"); $this->assertEqualCode('KittyHello WorldKitty',"[(#INCLURE{fond=$array}{test=Kitty})]"); } @@ -84,7 +84,7 @@ class Test_inclure_inline extends SpipTest{ function testInclureManquantGenereErreurCompilation(){ foreach(array( '<INCLURE{fond=carabistouille/de/tripoli/absente}/>ok', - '#CACHE{0}[(#INCLURE{fond=carabistouille/de/montignac/absente}|non)ok]', + '#CACHE{0}[(#INCLURE{fond=carabistouille/de/montignac/absente}|non)ok]', ) as $code) { $infos = $this->recuperer_infos_code($code); $this->assertTrue($infos['erreurs']); @@ -92,17 +92,19 @@ class Test_inclure_inline extends SpipTest{ } function testInclureManquantNAffichePasErreursDansPublic(){ + foreach(array( '<INCLURE{fond=carabistouille/de/tripoli/absente}/>ok', '#CACHE{0}[(#INCLURE{fond=carabistouille/de/montignac/absente}|non)ok]', ) as $code) { // non loggue, on ne doit pas voir d'erreur... - $browser = &new SimpleBrowser(); + $browser = new SimpleBrowser(); + $browser->ignoreCookies(); $browser->get($f=$this->urlTestCode($code)); # $this->dump($f); $this->assertEqual($browser->getResponseCode(), 200); $this->assertOk($browser->getContent()); - + // loggue admin, on doit voir une erreur ... # todo } diff --git a/unit/simpletest/dist/balises/introduction.php b/unit/simpletest/dist/balises/introduction.php index 165afbd47b089b48a323dc6c2f94bd80587a8df4..6751389f071e8a3129b79cf6a523f07410fd2cab 100644 --- a/unit/simpletest/dist/balises/introduction.php +++ b/unit/simpletest/dist/balises/introduction.php @@ -6,7 +6,7 @@ class Test_filtre_introduction extends SpipTest{ // initialisation function Test_filtre_introduction() { - $this->SpipTest(); + parent::__construct(); include_spip('inc/filtres'); include_spip('public/composer'); $this->func = chercher_filtre('introduction'); @@ -16,7 +16,7 @@ class Test_filtre_introduction extends SpipTest{ function testPresenceFiltre(){ if (!$this->func) { throw new SpipTestException('Il faut le fichu filtre "introduction" !!'); - } + } } // la description seule ressort avec propre() sans passer par couper() @@ -24,21 +24,31 @@ class Test_filtre_introduction extends SpipTest{ // du texte, meme si le texte est plus petit function testDescriptifRetourneSiPresent(){ if (!$f = $this->func) return; - $this->assertEqual(propre('description petite'), $f('description petite','description plus longue',100,'')); + $this->assertEqual( + propre('description petite'), + $f('description petite','description plus longue',100,'')); } // couper en plus... function testTexteNonCoupeSiPetit(){ if (!$f = $this->func) return; - $this->assertEqual(couper(propre('description plus longue'),100), $f('','description plus longue',100,'')); + $this->assertEqual( + paragrapher(couper(propre('description plus longue'),100), true), + $f('','description plus longue',100,'')); } function testTexteCoupe(){ if (!$f = $this->func) return; - $this->assertEqual(couper(propre('description plus longue'),10), $f('','description plus longue',10,'')); - $this->assertNotEqual(couper(propre('description plus longue'),20), $f('','description plus longue',10,'')); + $this->assertEqual( + paragrapher(couper(propre('description plus longue'),10), true), + $f('','description plus longue',10,'')); + $this->assertNotEqual( + paragrapher(couper(propre('description plus longue'),20), true), + $f('','description plus longue',10,'')); } function testTexteAvecBaliseIntro(){ if (!$f = $this->func) return; - $this->assertEqual(couper(propre('plus'),100), $f('','description <intro>plus</intro> longue',100,'')); + $this->assertEqual( + paragrapher(couper(propre('plus'),100), true), + $f('','description <intro>plus</intro> longue',100,'')); } } diff --git a/unit/simpletest/dist/balises/lanceur_spip.php b/unit/simpletest/dist/balises/lanceur_spip.php index 497653dee5e467d28c3c8e51794465f9ea8ddd80..fe64b3fc4f4dd1395427abcd785c6d3c226704e3 100644 --- a/unit/simpletest/dist/balises/lanceur_spip.php +++ b/unit/simpletest/dist/balises/lanceur_spip.php @@ -1,26 +1,12 @@ <?php /** - * Ce fichier permet de lancer SPIP - * pour obtenir ses fonctions depuis - * les jeux de tests unitaires (simpletest) - * des plugins - * - * Il verifie aussi la presence du plugin simpleTest - * + * Démarre SPIP afin d'obtenir ses fonctions depuis + * les jeux de tests unitaires de type simpletest */ -$version_lanceur = '1.0.0'; - $remonte = "../"; while (!is_dir($remonte."ecrire")) $remonte = "../$remonte"; require $remonte.'tests/test.inc'; -if (!defined('_ECRIRE_INC_VERSION')) { - die("<strong>Echec :</strong> SPIP ne peut pas etre demarre automatiquement pour le test.<br /> - Vous utilisez certainement un lien symbolique dans votre repertoire plugins."); -} -include_spip('inc/spip_simpletest'); -if (!class_exists('SpipTestSuite')) { - die("<strong>Echec :</strong> le plugin pour les tests unitaires avec SimpleTest ne semble pas actif."); -} +demarrer_simpletest(); diff --git a/unit/simpletest/dist/boucles/lanceur_spip.php b/unit/simpletest/dist/boucles/lanceur_spip.php index 497653dee5e467d28c3c8e51794465f9ea8ddd80..fe64b3fc4f4dd1395427abcd785c6d3c226704e3 100644 --- a/unit/simpletest/dist/boucles/lanceur_spip.php +++ b/unit/simpletest/dist/boucles/lanceur_spip.php @@ -1,26 +1,12 @@ <?php /** - * Ce fichier permet de lancer SPIP - * pour obtenir ses fonctions depuis - * les jeux de tests unitaires (simpletest) - * des plugins - * - * Il verifie aussi la presence du plugin simpleTest - * + * Démarre SPIP afin d'obtenir ses fonctions depuis + * les jeux de tests unitaires de type simpletest */ -$version_lanceur = '1.0.0'; - $remonte = "../"; while (!is_dir($remonte."ecrire")) $remonte = "../$remonte"; require $remonte.'tests/test.inc'; -if (!defined('_ECRIRE_INC_VERSION')) { - die("<strong>Echec :</strong> SPIP ne peut pas etre demarre automatiquement pour le test.<br /> - Vous utilisez certainement un lien symbolique dans votre repertoire plugins."); -} -include_spip('inc/spip_simpletest'); -if (!class_exists('SpipTestSuite')) { - die("<strong>Echec :</strong> le plugin pour les tests unitaires avec SimpleTest ne semble pas actif."); -} +demarrer_simpletest(); diff --git a/unit/simpletest/lanceur_spip.php b/unit/simpletest/lanceur_spip.php index 497653dee5e467d28c3c8e51794465f9ea8ddd80..fe64b3fc4f4dd1395427abcd785c6d3c226704e3 100644 --- a/unit/simpletest/lanceur_spip.php +++ b/unit/simpletest/lanceur_spip.php @@ -1,26 +1,12 @@ <?php /** - * Ce fichier permet de lancer SPIP - * pour obtenir ses fonctions depuis - * les jeux de tests unitaires (simpletest) - * des plugins - * - * Il verifie aussi la presence du plugin simpleTest - * + * Démarre SPIP afin d'obtenir ses fonctions depuis + * les jeux de tests unitaires de type simpletest */ -$version_lanceur = '1.0.0'; - $remonte = "../"; while (!is_dir($remonte."ecrire")) $remonte = "../$remonte"; require $remonte.'tests/test.inc'; -if (!defined('_ECRIRE_INC_VERSION')) { - die("<strong>Echec :</strong> SPIP ne peut pas etre demarre automatiquement pour le test.<br /> - Vous utilisez certainement un lien symbolique dans votre repertoire plugins."); -} -include_spip('inc/spip_simpletest'); -if (!class_exists('SpipTestSuite')) { - die("<strong>Echec :</strong> le plugin pour les tests unitaires avec SimpleTest ne semble pas actif."); -} +demarrer_simpletest();