source: spip-zone/_plugins_/_stable_/simpletest/tests/_spipTest/recuperer_code.php @ 24737

Last change on this file since 24737 was 24737, checked in by marcimat@…, 12 years ago

Plugin pour des tests unitaires avec SPIP utilisant les librairies SimpleTest? (version 1.0.1).

L'api de simpleTest est enrichie pour proposer des tests spécifiques utilisant les fonctions de SPIP. La documentation sur Contrib va suivre.

Une remarque importante : pour que les tests fonctionnent, il ne PEUT pas y avoir le lien symbolique sur les répertoires plugins ou de simpleTests

Le répertoire tests/ (qui contient les premiers tests unitaires dans un format qui n'est pas simpleTest) peut être ajouté à la racine du site, les tests SimpleTests? se lanceront dedans correctement si ce plugin est activé.

File size: 2.4 KB
Line 
1<?php
2require_once('lanceur_spip.php');
3
4class Test_SpipTestRecupererCode extends SpipTest{
5       
6        function testRecupererFond(){
7                $this->assertEqual('Hello World', recuperer_fond('tests/core/inc/inclus_hello_world'));
8        }
9        function testRecupererCode(){
10                $this->assertEqualCode('Hello World','Hello World');
11        }
12        function testRecupererCodeAvecFonctionEtApreCode(){
13                $this->options_recuperer_code(array(
14                        'fonctions'=>"
15                                                function so_smile(){
16                                                        return ' So Smile';
17                                                }",
18                        'apres_code'=>'[(#VAL|so_smile)]',
19                ));
20                $this->assertEqualCode('Hello World So Smile', 'Hello World');
21        }
22        function testRecupererCodeAvecFonctionUtiliseeAilleurs(){
23                $this->assertEqualCode('Hello Kitty So Smile','Hello Kitty');
24        }
25        function testRecupererCodeAvecFonctionVide(){
26                // pas de trace de l'ajout precedent (' So Smile' en plus)
27                $this->options_recuperer_code();
28                $this->assertEqualCode('Hello Kitty','Hello Kitty');
29               
30                // pas de fichier de fonctions
31                $this->assertOkCode("[(#SQUELETTE|replace{'.html','_fonctions.php'}|chemin|non)ok]");
32               
33                // fichier de fonction
34                $this->options_recuperer_code(array(
35                        'fonctions'=>"
36                                                function so_smile(){
37                                                        return ' So Smile';
38                                                }",
39                ));
40                $this->assertNotOkCode("[(#SQUELETTE|replace{'.html','_fonctions.php'}|chemin|non)ok]");
41               
42                // pas de fichier de fonctions
43                $this->options_recuperer_code();
44                $this->assertOkCode("[(#SQUELETTE|replace{'.html','_fonctions.php'}|chemin|non)ok]");           
45        }
46       
47        function testRecupererCodeAvantApres(){
48                $this->options_recuperer_code(array(
49                        'avant_code'=>'Nice ',
50                        'apres_code'=>' So Beautiful',
51                ));
52                $this->assertEqualCode('Nice Hello World So Beautiful', 'Hello World');         
53        }
54}
55
56class Test_SpipTestRecupererInfosCode extends SpipTest{
57       
58        function testPresenceInfosFond(){
59                $infos = $this->recuperer_infos_code('#SELF');
60                $this->assertTrue(is_array($infos));
61                $this->assertTrue(isset($infos['squelette']));
62                $this->assertTrue(isset($infos['fond']));
63        }
64        function testPresenceInfosErreurCompilationFiltreAbsent(){
65                $infos = $this->recuperer_infos_code('#CACHE{0}[(#SELF|la_gastro_nest_pas_la)]');
66                $this->assertTrue(is_array($infos['erreurs']));
67                $this->assertTrue(count($infos['erreurs']));
68        }
69        function testPresenceInfosErreurCompilationAbsentsDansNouvelleDemandeCorrecte(){
70                $infos = $this->recuperer_infos_code('#CACHE{0}Aucun Probleme ici');
71                $this->assertFalse(count($infos['erreurs']));
72        }       
73}
74?>
Note: See TracBrowser for help on using the repository browser.