source: spip-zone/_plugins_/_stable_/simpletest/tests/dist/balises/inclure.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: 4.1 KB
Line 
1<?php
2require_once('lanceur_spip.php');
3include_spip('simpletest/browser');
4include_spip('simpletest/web_tester');
5
6class Test_inclure extends SpipTest{
7
8
9        function testInclureNormal(){
10                $this->assertEqualCode('Hello World','<INCLURE{fond=tests/core/inc/inclus_hello_world}>');
11                $this->assertEqualCode('Hello World','<INCLURE{fond=tests/core/inc/inclus_hello_world}/>');
12        }
13        function testInclureDouble(){
14                $this->assertEqualCode('Hello WorldHello World','<INCLURE{fond=tests/core/inc/inclus_hello_world}>'
15                                .'<INCLURE{fond=tests/core/inc/inclus_hello_world}>');
16                $this->assertEqualCode('Hello WorldHello World','
17                                 <INCLURE{fond=tests/core/inc/inclus_hello_world}>'
18                                .'<INCLURE{fond=tests/core/inc/inclus_hello_world}>');
19        }
20        function testInclureArray(){
21                $array = '#ARRAY{
22                        0,tests/core/inc/inclus_hello_world,
23                        1,tests/core/inc/inclus_hello_world,
24                        2,tests/core/inc/inclus_hello_world}';
25                $this->assertEqualCode('Hello WorldHello WorldHello World',"<INCLURE{fond=$array}>");
26        }       
27       
28       
29        function testInclureNormalParam(){
30                $this->assertEqualCode('Kitty','<INCLURE{fond=tests/core/inc/inclus_param_test}{test=Kitty}>');
31                $this->assertEqualCode('Kitty','<INCLURE{fond=tests/core/inc/inclus_param_test}{test=Kitty}/>');
32        }
33       
34        function testInclureArrayParam(){
35                $array = '#ARRAY{
36                        0,tests/core/inc/inclus_param_test,
37                        1,tests/core/inc/inclus_hello_world,
38                        2,tests/core/inc/inclus_param_test}';           
39                $this->assertEqualCode('KittyHello WorldKitty',"<INCLURE{fond=$array}{test=Kitty}>");
40                $this->assertEqualCode('KittyHello WorldKitty',"<INCLURE{fond=$array}{test=Kitty}/>");
41        }
42}
43
44class Test_inclure_inline extends SpipTest{
45       
46        function testInclureInlineNormal(){
47                $this->assertEqualCode('Hello World','#INCLURE{fond=tests/core/inc/inclus_hello_world}');
48                $this->assertEqualCode('Hello World','[(#INCLURE{fond=tests/core/inc/inclus_hello_world})]');
49        }
50        function testInclureDouble(){
51                $this->assertEqualCode('Hello WorldHello World','#INCLURE{fond=tests/core/inc/inclus_hello_world}'
52                                .'#INCLURE{fond=tests/core/inc/inclus_hello_world}');
53                $this->assertEqualCode('Hello WorldHello World','
54                                 #INCLURE{fond=tests/core/inc/inclus_hello_world}'
55                                .'#INCLURE{fond=tests/core/inc/inclus_hello_world}');
56        }
57        function testInclureArray(){
58                $array = '#ARRAY{
59                        0,tests/core/inc/inclus_hello_world,
60                        1,tests/core/inc/inclus_hello_world,
61                        2,tests/core/inc/inclus_hello_world}';
62                $this->assertEqualCode('Hello WorldHello WorldHello World',"#INCLURE{fond=$array}");
63        }       
64       
65       
66        function testInclureNormalParam(){
67                $this->assertEqualCode('Kitty','[(#INCLURE{fond=tests/core/inc/inclus_param_test}{test=Kitty})]');
68                $this->assertEqualCode('Kitty','[(#INCLURE{fond=tests/core/inc/inclus_param_test}{test=Kitty})]');
69        }
70       
71        function testInclureArrayParam(){
72                $array = '#ARRAY{
73                        0,tests/core/inc/inclus_param_test,
74                        1,tests/core/inc/inclus_hello_world,
75                        2,tests/core/inc/inclus_param_test}';           
76                $this->assertEqualCode('KittyHello WorldKitty',"[(#INCLURE{fond=$array}{test=Kitty})]");
77                $this->assertEqualCode('KittyHello WorldKitty',"[(#INCLURE{fond=$array}{test=Kitty})]");
78        }
79       
80        /**
81         * Un inclure manquant doit creer une erreur de compilation pour SPIP
82         * qui ne doivent pas s'afficher dans le public si visiteur
83         */ 
84        function testInclureManquantGenereErreurCompilation(){
85                foreach(array(
86                        '<INCLURE{fond=carabistouille/de/tripoli/absente}/>ok',
87                        '#CACHE{0}[(#INCLURE{fond=carabistouille/de/montignac/absente}|non)ok]',
88                ) as $code) {
89                        $infos = $this->recuperer_infos_code($code);
90                        $this->assertTrue($infos['erreurs']);
91                }
92        }
93       
94        function testInclureManquantNAffichePasErreursDansPublic(){
95                foreach(array(
96                        '<INCLURE{fond=carabistouille/de/tripoli/absente}/>ok',
97                        '#CACHE{0}[(#INCLURE{fond=carabistouille/de/montignac/absente}|non)ok]',
98                ) as $code) {
99                        $infos = $this->recuperer_infos_code($code);
100                        #$this->dump($infos);
101                        // non loggue, on ne doit pas voir d'erreur...
102                        $browser = &new SimpleBrowser();
103                        $browser->get($f=$this->generer_url_test($infos['fond']));
104                        # $this->dump($f);
105                        $this->assertEqual($browser->getResponseCode(), 200);
106                        $this->assertOk($browser->getContent());
107                       
108                        // loggue admin, on doit voir une erreur ...
109                        # todo
110                }
111        }
112}
113
114
115?>
Note: See TracBrowser for help on using the repository browser.