Completed
Push — master ( 8b5a3c...b0cbd6 )
by cam
01:56
created
ecrire/tests/Templating.php 1 patch
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -10,35 +10,35 @@
 block discarded – undo
10 10
 
11 11
 class Templating
12 12
 {
13
-	public function __construct(
14
-		private readonly LoaderInterface $loader
15
-	) {
16
-	}
17
-
18
-	public static function fromString(array $options = []): self {
19
-		return new static(new StringLoader($options));
20
-	}
21
-
22
-	public static function fromFile(): self {
23
-		return new static(new FileLoader());
24
-	}
25
-
26
-	public function getLoader(): LoaderInterface {
27
-		return $this->loader;
28
-	}
29
-
30
-	public function load(string $name): Template {
31
-		$source = $this->loader->getSourceFile($name);
32
-		return new Template($source);
33
-	}
34
-
35
-	public function render(string $name, array $contexte = [], string $connect = ''): string {
36
-		return $this->load($name)
37
-			->render($contexte, $connect);
38
-	}
39
-
40
-	public function rawRender(string $name, array $contexte = [], string $connect = ''): array {
41
-		return $this->load($name)
42
-			->rawRender($contexte, $connect);
43
-	}
13
+    public function __construct(
14
+        private readonly LoaderInterface $loader
15
+    ) {
16
+    }
17
+
18
+    public static function fromString(array $options = []): self {
19
+        return new static(new StringLoader($options));
20
+    }
21
+
22
+    public static function fromFile(): self {
23
+        return new static(new FileLoader());
24
+    }
25
+
26
+    public function getLoader(): LoaderInterface {
27
+        return $this->loader;
28
+    }
29
+
30
+    public function load(string $name): Template {
31
+        $source = $this->loader->getSourceFile($name);
32
+        return new Template($source);
33
+    }
34
+
35
+    public function render(string $name, array $contexte = [], string $connect = ''): string {
36
+        return $this->load($name)
37
+            ->render($contexte, $connect);
38
+    }
39
+
40
+    public function rawRender(string $name, array $contexte = [], string $connect = ''): array {
41
+        return $this->load($name)
42
+            ->rawRender($contexte, $connect);
43
+    }
44 44
 }
Please login to merge, or discard this patch.
ecrire/tests/Formulaire/ProtegeChampTest.php 1 patch
Indentation   +142 added lines, -142 removed lines patch added patch discarded remove patch
@@ -13,160 +13,160 @@
 block discarded – undo
13 13
 
14 14
 class ProtegeChampTest extends TestCase
15 15
 {
16
-	public static function setUpBeforeClass(): void {
17
-		find_in_path('./balise/formulaire_.php', '', true);
18
-	}
16
+    public static function setUpBeforeClass(): void {
17
+        find_in_path('./balise/formulaire_.php', '', true);
18
+    }
19 19
 
20
-	#[DataProvider('providerFormulaireProtegeChamp')]
21
-	public function testFormulaireProtegeChamp($expected, ...$args): void {
22
-		$actual = protege_champ(...$args);
23
-		$this->assertSame($expected, $actual);
24
-	}
20
+    #[DataProvider('providerFormulaireProtegeChamp')]
21
+    public function testFormulaireProtegeChamp($expected, ...$args): void {
22
+        $actual = protege_champ(...$args);
23
+        $this->assertSame($expected, $actual);
24
+    }
25 25
 
26
-	public static function providerFormulaireProtegeChamp(): array {
27
-		return [
28
-			0 => [
29
-				0 => 'i:1;',
30
-				1 => 'i:1;',
31
-			],
32
-			1 => [
33
-				0 => 's:4:"toto";',
34
-				1 => 's:4:"toto";',
35
-			],
36
-			2 => [
37
-				0 => 'b:1;',
38
-				1 => 'b:1;',
39
-			],
40
-			3 => [
41
-				0 => 'b:0;',
42
-				1 => 'b:0;',
43
-			],
44
-			4 => [
45
-				0 => 'a:1:{i:0;s:4:"toto";}',
46
-				1 => 'a:1:{i:0;s:4:"toto";}',
47
-			],
48
-			5 => [
49
-				0 => '',
50
-				1 => '',
51
-			],
52
-			6 => [
53
-				0 => '0',
54
-				1 => '0',
55
-			],
56
-			7 => [
57
-				0 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
58
-				1 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
59
-			],
60
-			8 => [
61
-				0 => 'Un texte avec des entit&amp;eacute;s &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
62
-				1 => 'Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;',
63
-			],
64
-			9 => [
65
-				0 => 'Un texte sans entites &amp;&lt;&gt;&quot;&#039;',
66
-				1 => 'Un texte sans entites &<>"\'',
67
-			],
68
-			10 => [
69
-				0 => '{{{Des raccourcis}}} {italique} {{gras}} &lt;code&gt;du code&lt;/code&gt;',
70
-				1 => '{{{Des raccourcis}}} {italique} {{gras}} <code>du code</code>',
71
-			],
72
-			11 => [
73
-				0 => 'Un modele &lt;modeleinexistant|lien=[-&gt;http://www.spip.net]&gt;',
74
-				1 => 'Un modele <modeleinexistant|lien=[->http://www.spip.net]>',
75
-			],
76
-			12 => [
77
-				0 => 'Un texte avec des retour
26
+    public static function providerFormulaireProtegeChamp(): array {
27
+        return [
28
+            0 => [
29
+                0 => 'i:1;',
30
+                1 => 'i:1;',
31
+            ],
32
+            1 => [
33
+                0 => 's:4:&quot;toto&quot;;',
34
+                1 => 's:4:"toto";',
35
+            ],
36
+            2 => [
37
+                0 => 'b:1;',
38
+                1 => 'b:1;',
39
+            ],
40
+            3 => [
41
+                0 => 'b:0;',
42
+                1 => 'b:0;',
43
+            ],
44
+            4 => [
45
+                0 => 'a:1:{i:0;s:4:&quot;toto&quot;;}',
46
+                1 => 'a:1:{i:0;s:4:"toto";}',
47
+            ],
48
+            5 => [
49
+                0 => '',
50
+                1 => '',
51
+            ],
52
+            6 => [
53
+                0 => '0',
54
+                1 => '0',
55
+            ],
56
+            7 => [
57
+                0 => 'Un texte avec des &lt;a href=&quot;http://spip.net&quot;&gt;liens&lt;/a&gt; [Article 1-&gt;art1] [spip-&gt;http://www.spip.net] http://www.spip.net',
58
+                1 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
59
+            ],
60
+            8 => [
61
+                0 => 'Un texte avec des entit&amp;eacute;s &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
62
+                1 => 'Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;',
63
+            ],
64
+            9 => [
65
+                0 => 'Un texte sans entites &amp;&lt;&gt;&quot;&#039;',
66
+                1 => 'Un texte sans entites &<>"\'',
67
+            ],
68
+            10 => [
69
+                0 => '{{{Des raccourcis}}} {italique} {{gras}} &lt;code&gt;du code&lt;/code&gt;',
70
+                1 => '{{{Des raccourcis}}} {italique} {{gras}} <code>du code</code>',
71
+            ],
72
+            11 => [
73
+                0 => 'Un modele &lt;modeleinexistant|lien=[-&gt;http://www.spip.net]&gt;',
74
+                1 => 'Un modele <modeleinexistant|lien=[->http://www.spip.net]>',
75
+            ],
76
+            12 => [
77
+                0 => 'Un texte avec des retour
78 78
 a la ligne et meme des
79 79
 
80 80
 paragraphes',
81
-				1 => 'Un texte avec des retour
81
+                1 => 'Un texte avec des retour
82 82
 a la ligne et meme des
83 83
 
84 84
 paragraphes',
85
-			],
86
-			13 => [
87
-				0 => [],
88
-				1 => [],
89
-			],
90
-			14 => [
91
-				0 => [
92
-					0 => '',
93
-					1 => '0',
94
-					2 => 'Un texte avec des &lt;a href=&quot;http://spip.net&quot;&gt;liens&lt;/a&gt; [Article 1-&gt;art1] [spip-&gt;http://www.spip.net] http://www.spip.net',
95
-					3 => 'Un texte avec des entit&amp;eacute;s &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
96
-					4 => 'Un texte sans entites &amp;&lt;&gt;&quot;&#039;',
97
-					5 => '{{{Des raccourcis}}} {italique} {{gras}} &lt;code&gt;du code&lt;/code&gt;',
98
-					6 => 'Un modele &lt;modeleinexistant|lien=[-&gt;http://www.spip.net]&gt;',
99
-					7 => 'Un texte avec des retour
85
+            ],
86
+            13 => [
87
+                0 => [],
88
+                1 => [],
89
+            ],
90
+            14 => [
91
+                0 => [
92
+                    0 => '',
93
+                    1 => '0',
94
+                    2 => 'Un texte avec des &lt;a href=&quot;http://spip.net&quot;&gt;liens&lt;/a&gt; [Article 1-&gt;art1] [spip-&gt;http://www.spip.net] http://www.spip.net',
95
+                    3 => 'Un texte avec des entit&amp;eacute;s &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
96
+                    4 => 'Un texte sans entites &amp;&lt;&gt;&quot;&#039;',
97
+                    5 => '{{{Des raccourcis}}} {italique} {{gras}} &lt;code&gt;du code&lt;/code&gt;',
98
+                    6 => 'Un modele &lt;modeleinexistant|lien=[-&gt;http://www.spip.net]&gt;',
99
+                    7 => 'Un texte avec des retour
100 100
 a la ligne et meme des
101 101
 
102 102
 paragraphes',
103
-				],
104
-				1 => [
105
-					0 => '',
106
-					1 => '0',
107
-					2 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
108
-					3 => 'Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;',
109
-					4 => 'Un texte sans entites &<>"\'',
110
-					5 => '{{{Des raccourcis}}} {italique} {{gras}} <code>du code</code>',
111
-					6 => 'Un modele <modeleinexistant|lien=[->http://www.spip.net]>',
112
-					7 => 'Un texte avec des retour
103
+                ],
104
+                1 => [
105
+                    0 => '',
106
+                    1 => '0',
107
+                    2 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
108
+                    3 => 'Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;',
109
+                    4 => 'Un texte sans entites &<>"\'',
110
+                    5 => '{{{Des raccourcis}}} {italique} {{gras}} <code>du code</code>',
111
+                    6 => 'Un modele <modeleinexistant|lien=[->http://www.spip.net]>',
112
+                    7 => 'Un texte avec des retour
113 113
 a la ligne et meme des
114 114
 
115 115
 paragraphes',
116
-				],
117
-			],
118
-			15 => [
119
-				0 => [
120
-					0 => 0,
121
-					1 => -1,
122
-					2 => 1,
123
-					3 => 2,
124
-					4 => 3,
125
-					5 => 4,
126
-					6 => 5,
127
-					7 => 6,
128
-					8 => 7,
129
-					9 => 10,
130
-					10 => 20,
131
-					11 => 30,
132
-					12 => 50,
133
-					13 => 100,
134
-					14 => 1000,
135
-					15 => 10000,
136
-				],
137
-				1 => [
138
-					0 => 0,
139
-					1 => -1,
140
-					2 => 1,
141
-					3 => 2,
142
-					4 => 3,
143
-					5 => 4,
144
-					6 => 5,
145
-					7 => 6,
146
-					8 => 7,
147
-					9 => 10,
148
-					10 => 20,
149
-					11 => 30,
150
-					12 => 50,
151
-					13 => 100,
152
-					14 => 1000,
153
-					15 => 10000,
154
-				],
155
-			],
156
-			16 => [
157
-				0 => [
158
-					0 => '1',
159
-					1 => '',
160
-				],
161
-				1 => [
162
-					0 => true,
163
-					1 => false,
164
-				],
165
-			],
166
-			17 => [
167
-				0 => null,
168
-				1 => null,
169
-			],
170
-		];
171
-	}
116
+                ],
117
+            ],
118
+            15 => [
119
+                0 => [
120
+                    0 => 0,
121
+                    1 => -1,
122
+                    2 => 1,
123
+                    3 => 2,
124
+                    4 => 3,
125
+                    5 => 4,
126
+                    6 => 5,
127
+                    7 => 6,
128
+                    8 => 7,
129
+                    9 => 10,
130
+                    10 => 20,
131
+                    11 => 30,
132
+                    12 => 50,
133
+                    13 => 100,
134
+                    14 => 1000,
135
+                    15 => 10000,
136
+                ],
137
+                1 => [
138
+                    0 => 0,
139
+                    1 => -1,
140
+                    2 => 1,
141
+                    3 => 2,
142
+                    4 => 3,
143
+                    5 => 4,
144
+                    6 => 5,
145
+                    7 => 6,
146
+                    8 => 7,
147
+                    9 => 10,
148
+                    10 => 20,
149
+                    11 => 30,
150
+                    12 => 50,
151
+                    13 => 100,
152
+                    14 => 1000,
153
+                    15 => 10000,
154
+                ],
155
+            ],
156
+            16 => [
157
+                0 => [
158
+                    0 => '1',
159
+                    1 => '',
160
+                ],
161
+                1 => [
162
+                    0 => true,
163
+                    1 => false,
164
+                ],
165
+            ],
166
+            17 => [
167
+                0 => null,
168
+                1 => null,
169
+            ],
170
+        ];
171
+    }
172 172
 }
Please login to merge, or discard this patch.
ecrire/tests/Action/EditerLiensTest.php 2 patches
Indentation   +263 added lines, -263 removed lines patch added patch discarded remove patch
@@ -19,276 +19,276 @@
 block discarded – undo
19 19
 
20 20
 class EditerLiensTest extends TestCase
21 21
 {
22
-	public static function setUpBeforeClass(): void {
23
-		include_spip('action/editer_liens');
24
-	}
22
+    public static function setUpBeforeClass(): void {
23
+        include_spip('action/editer_liens');
24
+    }
25 25
 
26
-	public static function tearDownAfterClass(): void {
27
-		include_spip('base/abstract_sql');
28
-		sql_delete('spip_auteurs_liens', "objet='spirou'");
29
-		sql_delete('spip_auteurs_liens', "objet='zorglub'");
30
-	}
26
+    public static function tearDownAfterClass(): void {
27
+        include_spip('base/abstract_sql');
28
+        sql_delete('spip_auteurs_liens', "objet='spirou'");
29
+        sql_delete('spip_auteurs_liens', "objet='zorglub'");
30
+    }
31 31
 
32
-	public function testObjetAssociable() {
33
-		$essais = [
34
-			[
35
-				0 => false,
36
-				1 => 'article',
37
-			],
38
-			[
39
-				0 => ['id_auteur', 'spip_auteurs_liens'],
40
-				1 => 'auteur',
41
-			],
42
-			[
43
-				0 => ['id_mot', 'spip_mots_liens'],
44
-				1 => 'mot',
45
-			],
46
-			[
47
-				0 => ['id_document', 'spip_documents_liens'],
48
-				1 => 'document',
49
-			],
50
-			[
51
-				0 => false,
52
-				1 => "mot' OR 1=1'",
53
-			],
54
-		];
32
+    public function testObjetAssociable() {
33
+        $essais = [
34
+            [
35
+                0 => false,
36
+                1 => 'article',
37
+            ],
38
+            [
39
+                0 => ['id_auteur', 'spip_auteurs_liens'],
40
+                1 => 'auteur',
41
+            ],
42
+            [
43
+                0 => ['id_mot', 'spip_mots_liens'],
44
+                1 => 'mot',
45
+            ],
46
+            [
47
+                0 => ['id_document', 'spip_documents_liens'],
48
+                1 => 'document',
49
+            ],
50
+            [
51
+                0 => false,
52
+                1 => "mot' OR 1=1'",
53
+            ],
54
+        ];
55 55
 
56
-		foreach ($essais as $k => $essai) {
57
-			$expected = array_shift($essai);
58
-			$this->assertEquals($expected, objet_associable(...$essai), "Echec {$k} : objet_associable " . end($essai));
59
-		}
60
-	}
56
+        foreach ($essais as $k => $essai) {
57
+            $expected = array_shift($essai);
58
+            $this->assertEquals($expected, objet_associable(...$essai), "Echec {$k} : objet_associable " . end($essai));
59
+        }
60
+    }
61 61
 
62
-	#[Depends('testObjetAssociable')]
63
-	public function testObjetAssocier() {
64
-		$essais = [
65
-			[
66
-				0 => false,
67
-				1 => [
68
-					'article' => 1,
69
-				],
70
-				2 => [
71
-					'spirou' => 1,
72
-				],
73
-			],
74
-			[
75
-				0 => 1,
76
-				1 => [
77
-					'auteur' => 1,
78
-				],
79
-				2 => [
80
-					'spirou' => 1,
81
-				],
82
-			],
83
-			[
84
-				0 => 0,
85
-				1 => [
86
-					'auteur' => 1,
87
-				],
88
-				2 => [
89
-					'spirou' => 1,
90
-				],
91
-			],
92
-			[
93
-				0 => 2,
94
-				1 => [
95
-					'auteur' => 1,
96
-				],
97
-				2 => [
98
-					'spirou' => [2, 3],
99
-				],
100
-			],
101
-			[
102
-				0 => 1,
103
-				1 => [
104
-					'auteur' => 1,
105
-				],
106
-				2 => [
107
-					'spirou' => [2, 3, 4],
108
-				],
109
-			],
110
-			[
111
-				10,
112
-				[
113
-					'auteur' => 1,
114
-				],
115
-				[
116
-					'zorglub' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
117
-				],
118
-			],
119
-			[
120
-				6,
121
-				[
122
-					'auteur' => 1,
123
-				],
124
-				[
125
-					'spirou' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
126
-				],
127
-			],
128
-		];
62
+    #[Depends('testObjetAssociable')]
63
+    public function testObjetAssocier() {
64
+        $essais = [
65
+            [
66
+                0 => false,
67
+                1 => [
68
+                    'article' => 1,
69
+                ],
70
+                2 => [
71
+                    'spirou' => 1,
72
+                ],
73
+            ],
74
+            [
75
+                0 => 1,
76
+                1 => [
77
+                    'auteur' => 1,
78
+                ],
79
+                2 => [
80
+                    'spirou' => 1,
81
+                ],
82
+            ],
83
+            [
84
+                0 => 0,
85
+                1 => [
86
+                    'auteur' => 1,
87
+                ],
88
+                2 => [
89
+                    'spirou' => 1,
90
+                ],
91
+            ],
92
+            [
93
+                0 => 2,
94
+                1 => [
95
+                    'auteur' => 1,
96
+                ],
97
+                2 => [
98
+                    'spirou' => [2, 3],
99
+                ],
100
+            ],
101
+            [
102
+                0 => 1,
103
+                1 => [
104
+                    'auteur' => 1,
105
+                ],
106
+                2 => [
107
+                    'spirou' => [2, 3, 4],
108
+                ],
109
+            ],
110
+            [
111
+                10,
112
+                [
113
+                    'auteur' => 1,
114
+                ],
115
+                [
116
+                    'zorglub' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
117
+                ],
118
+            ],
119
+            [
120
+                6,
121
+                [
122
+                    'auteur' => 1,
123
+                ],
124
+                [
125
+                    'spirou' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
126
+                ],
127
+            ],
128
+        ];
129 129
 
130
-		foreach ($essais as $k => $essai) {
131
-			$expected = array_shift($essai);
132
-			$this->assertEquals(
133
-				$expected,
134
-				objet_associer(...$essai),
135
-				"Echec {$k} : objet_associer " . json_encode($essai, JSON_THROW_ON_ERROR)
136
-			);
137
-		}
138
-	}
130
+        foreach ($essais as $k => $essai) {
131
+            $expected = array_shift($essai);
132
+            $this->assertEquals(
133
+                $expected,
134
+                objet_associer(...$essai),
135
+                "Echec {$k} : objet_associer " . json_encode($essai, JSON_THROW_ON_ERROR)
136
+            );
137
+        }
138
+    }
139 139
 
140
-	#[Depends('testObjetAssocier')]
141
-	public function testObjetQualifierLiens() {
142
-		$essais = [
143
-			[
144
-				0 => false,
145
-				1 => [
146
-					'article' => 1,
147
-				],
148
-				2 => [
149
-					'zorglub' => 1,
150
-				],
151
-				3 => [
152
-					'vu' => 'oui',
153
-				],
154
-			],
155
-			[
156
-				0 => 1,
157
-				1 => [
158
-					'auteur' => 1,
159
-				],
160
-				2 => [
161
-					'zorglub' => 1,
162
-				],
163
-				3 => [
164
-					'vu' => 'oui',
165
-				],
166
-			],
167
-			[
168
-				0 => 1,
169
-				1 => [
170
-					'auteur' => 1,
171
-				],
172
-				2 => [
173
-					'zorglub' => 1,
174
-				],
175
-				3 => [
176
-					'vu' => 'oui',
177
-				],
178
-			],
179
-			[
180
-				0 => false,
181
-				1 => [
182
-					'auteur' => 1,
183
-				],
184
-				2 => [
185
-					'zorglub' => 1,
186
-				],
187
-				3 => [
188
-					'veraer' => 'oui',
189
-				],
190
-			],
191
-			[
192
-				0 => 2,
193
-				1 => [
194
-					'auteur' => 1,
195
-				],
196
-				2 => [
197
-					'zorglub' => [2, 3],
198
-				],
199
-				3 => [
200
-					'vu' => 'oui',
201
-				],
202
-			],
203
-		];
140
+    #[Depends('testObjetAssocier')]
141
+    public function testObjetQualifierLiens() {
142
+        $essais = [
143
+            [
144
+                0 => false,
145
+                1 => [
146
+                    'article' => 1,
147
+                ],
148
+                2 => [
149
+                    'zorglub' => 1,
150
+                ],
151
+                3 => [
152
+                    'vu' => 'oui',
153
+                ],
154
+            ],
155
+            [
156
+                0 => 1,
157
+                1 => [
158
+                    'auteur' => 1,
159
+                ],
160
+                2 => [
161
+                    'zorglub' => 1,
162
+                ],
163
+                3 => [
164
+                    'vu' => 'oui',
165
+                ],
166
+            ],
167
+            [
168
+                0 => 1,
169
+                1 => [
170
+                    'auteur' => 1,
171
+                ],
172
+                2 => [
173
+                    'zorglub' => 1,
174
+                ],
175
+                3 => [
176
+                    'vu' => 'oui',
177
+                ],
178
+            ],
179
+            [
180
+                0 => false,
181
+                1 => [
182
+                    'auteur' => 1,
183
+                ],
184
+                2 => [
185
+                    'zorglub' => 1,
186
+                ],
187
+                3 => [
188
+                    'veraer' => 'oui',
189
+                ],
190
+            ],
191
+            [
192
+                0 => 2,
193
+                1 => [
194
+                    'auteur' => 1,
195
+                ],
196
+                2 => [
197
+                    'zorglub' => [2, 3],
198
+                ],
199
+                3 => [
200
+                    'vu' => 'oui',
201
+                ],
202
+            ],
203
+        ];
204 204
 
205
-		foreach ($essais as $k => $essai) {
206
-			$expected = array_shift($essai);
207
-			$this->assertEquals(
208
-				$expected,
209
-				objet_qualifier_liens(...$essai),
210
-				"Echec {$k} : objet_qualifier_liens " . json_encode($essai, JSON_THROW_ON_ERROR)
211
-			);
212
-		}
213
-	}
205
+        foreach ($essais as $k => $essai) {
206
+            $expected = array_shift($essai);
207
+            $this->assertEquals(
208
+                $expected,
209
+                objet_qualifier_liens(...$essai),
210
+                "Echec {$k} : objet_qualifier_liens " . json_encode($essai, JSON_THROW_ON_ERROR)
211
+            );
212
+        }
213
+    }
214 214
 
215
-	#[Depends('testObjetQualifierLiens')]
216
-	public function testObjetDissocier() {
217
-		$essais = [
218
-			[
219
-				0 => false,
220
-				1 => [
221
-					'article' => 1,
222
-				],
223
-				2 => [
224
-					'zorglub' => 1,
225
-				],
226
-			],
227
-			[
228
-				0 => 1,
229
-				1 => [
230
-					'auteur' => 1,
231
-				],
232
-				2 => [
233
-					'zorglub' => 1,
234
-				],
235
-			],
236
-			[
237
-				0 => 0,
238
-				1 => [
239
-					'auteur' => 1,
240
-				],
241
-				2 => [
242
-					'zorglub' => 1,
243
-				],
244
-			],
245
-			[
246
-				0 => 2,
247
-				1 => [
248
-					'auteur' => 1,
249
-				],
250
-				2 => [
251
-					'zorglub' => [2, 3],
252
-				],
253
-			],
254
-			[
255
-				0 => 1,
256
-				1 => [
257
-					'auteur' => 1,
258
-				],
259
-				2 => [
260
-					'zorglub' => [2, 3, 4],
261
-				],
262
-			],
263
-			[
264
-				0 => 4,
265
-				1 => [
266
-					'auteur' => 1,
267
-				],
268
-				2 => [
269
-					'zorglub' => [5],
270
-					'spirou' => [2, 3, 4],
271
-				],
272
-			],
273
-			[
274
-				0 => 12,
275
-				1 => [
276
-					'auteur' => 1,
277
-				],
278
-				2 => [
279
-					'zorglub' => '*',
280
-					'spirou' => '*',
281
-				],
282
-			],
283
-		];
215
+    #[Depends('testObjetQualifierLiens')]
216
+    public function testObjetDissocier() {
217
+        $essais = [
218
+            [
219
+                0 => false,
220
+                1 => [
221
+                    'article' => 1,
222
+                ],
223
+                2 => [
224
+                    'zorglub' => 1,
225
+                ],
226
+            ],
227
+            [
228
+                0 => 1,
229
+                1 => [
230
+                    'auteur' => 1,
231
+                ],
232
+                2 => [
233
+                    'zorglub' => 1,
234
+                ],
235
+            ],
236
+            [
237
+                0 => 0,
238
+                1 => [
239
+                    'auteur' => 1,
240
+                ],
241
+                2 => [
242
+                    'zorglub' => 1,
243
+                ],
244
+            ],
245
+            [
246
+                0 => 2,
247
+                1 => [
248
+                    'auteur' => 1,
249
+                ],
250
+                2 => [
251
+                    'zorglub' => [2, 3],
252
+                ],
253
+            ],
254
+            [
255
+                0 => 1,
256
+                1 => [
257
+                    'auteur' => 1,
258
+                ],
259
+                2 => [
260
+                    'zorglub' => [2, 3, 4],
261
+                ],
262
+            ],
263
+            [
264
+                0 => 4,
265
+                1 => [
266
+                    'auteur' => 1,
267
+                ],
268
+                2 => [
269
+                    'zorglub' => [5],
270
+                    'spirou' => [2, 3, 4],
271
+                ],
272
+            ],
273
+            [
274
+                0 => 12,
275
+                1 => [
276
+                    'auteur' => 1,
277
+                ],
278
+                2 => [
279
+                    'zorglub' => '*',
280
+                    'spirou' => '*',
281
+                ],
282
+            ],
283
+        ];
284 284
 
285
-		foreach ($essais as $k => $essai) {
286
-			$expected = array_shift($essai);
287
-			$this->assertEquals(
288
-				$expected,
289
-				objet_dissocier(...$essai),
290
-				"Echec {$k} : objet_dissocier " . json_encode($essai, JSON_THROW_ON_ERROR)
291
-			);
292
-		}
293
-	}
285
+        foreach ($essais as $k => $essai) {
286
+            $expected = array_shift($essai);
287
+            $this->assertEquals(
288
+                $expected,
289
+                objet_dissocier(...$essai),
290
+                "Echec {$k} : objet_dissocier " . json_encode($essai, JSON_THROW_ON_ERROR)
291
+            );
292
+        }
293
+    }
294 294
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
 
56 56
 		foreach ($essais as $k => $essai) {
57 57
 			$expected = array_shift($essai);
58
-			$this->assertEquals($expected, objet_associable(...$essai), "Echec {$k} : objet_associable " . end($essai));
58
+			$this->assertEquals($expected, objet_associable(...$essai), "Echec {$k} : objet_associable ".end($essai));
59 59
 		}
60 60
 	}
61 61
 
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
 			$this->assertEquals(
133 133
 				$expected,
134 134
 				objet_associer(...$essai),
135
-				"Echec {$k} : objet_associer " . json_encode($essai, JSON_THROW_ON_ERROR)
135
+				"Echec {$k} : objet_associer ".json_encode($essai, JSON_THROW_ON_ERROR)
136 136
 			);
137 137
 		}
138 138
 	}
@@ -207,7 +207,7 @@  discard block
 block discarded – undo
207 207
 			$this->assertEquals(
208 208
 				$expected,
209 209
 				objet_qualifier_liens(...$essai),
210
-				"Echec {$k} : objet_qualifier_liens " . json_encode($essai, JSON_THROW_ON_ERROR)
210
+				"Echec {$k} : objet_qualifier_liens ".json_encode($essai, JSON_THROW_ON_ERROR)
211 211
 			);
212 212
 		}
213 213
 	}
@@ -287,7 +287,7 @@  discard block
 block discarded – undo
287 287
 			$this->assertEquals(
288 288
 				$expected,
289 289
 				objet_dissocier(...$essai),
290
-				"Echec {$k} : objet_dissocier " . json_encode($essai, JSON_THROW_ON_ERROR)
290
+				"Echec {$k} : objet_dissocier ".json_encode($essai, JSON_THROW_ON_ERROR)
291 291
 			);
292 292
 		}
293 293
 	}
Please login to merge, or discard this patch.
ecrire/tests/SquelettesTestCase.php 1 patch
Indentation   +258 added lines, -258 removed lines patch added patch discarded remove patch
@@ -12,262 +12,262 @@
 block discarded – undo
12 12
 
13 13
 abstract class SquelettesTestCase extends TestCase
14 14
 {
15
-	/**
16
-	 * Determine si une chaine débute par 'NA' (non applicable)
17
-	 */
18
-	public static function isNa(string $chaine): bool {
19
-		return str_starts_with(strtolower(trim($chaine)), 'na');
20
-	}
21
-
22
-	/**
23
-	 * Retourne le chemin relatif depuis la racine de SPIP
24
-	 */
25
-	public static function relativePath(string $fullDirectory): string {
26
-		if (!defined('_SPIP_TEST_CHDIR')) {
27
-			throw new RuntimeException('_SPIP_TEST_CHDIR needs to be defined');
28
-		}
29
-
30
-		return substr($fullDirectory, strlen(_SPIP_TEST_CHDIR) + 1);
31
-	}
32
-
33
-	/**
34
-	 * Determine si une chaine débute par 'OK'
35
-	 */
36
-	public static function assertOk($actual, string $message = ''): void {
37
-		$constraint = new IsOk($actual);
38
-
39
-		static::assertThat($actual, $constraint, $message);
40
-	}
41
-
42
-	/**
43
-	 * Determine si une chaine ne débute pas par 'OK'
44
-	 */
45
-	public static function assertNotOk($actual, string $message = ''): void {
46
-		$constraint = new LogicalNot(new IsOk($actual));
47
-
48
-		static::assertThat($actual, $constraint, $message);
49
-	}
50
-
51
-	/**
52
-	 * Assertion qui vérifie que le résultat d’un template est 'OK'
53
-	 *
54
-	 * @example
55
-	 * $templating = new Templating(new StringLoader());
56
-	 * $this->assertOkTemplate($templating, '[(#CONFIG{pasla}|non)ok]');
57
-	 *
58
-	 * $templating = new Templating(new FileLoader());
59
-	 * $this->assertOkTemplate($templating, __DIR__ . '/data/truc.html');
60
-	 *
61
-	 * @param string $code Code ou chemin du squelette
62
-	 * @param array $contexte Contexte de calcul du squelette
63
-	 * @param string $message Message pour une eventuelle erreur
64
-	 */
65
-	public static function assertOkTemplate(
66
-		Templating $templating,
67
-		string $code,
68
-		array $contexte = [],
69
-		string $message = ''
70
-	): void {
71
-		$actual = $templating->render($code, $contexte);
72
-
73
-		static::assertOk($actual, $message);
74
-	}
75
-
76
-	/**
77
-	 * Assertion qui vérifie que le résultat d’un template est vide
78
-	 *
79
-	 * @see assertOkTemplate()
80
-	 */
81
-	public static function assertNotOkTemplate(
82
-		Templating $templating,
83
-		string $code,
84
-		array $contexte = [],
85
-		string $message = ''
86
-	): void {
87
-		$actual = $templating->render($code, $contexte);
88
-
89
-		static::assertNotOk($actual, $message);
90
-	}
91
-
92
-	/**
93
-	 * Assertion qui vérifie que le résultat d’un template est vide
94
-	 *
95
-	 * @see assertOkTemplate()
96
-	 */
97
-	public static function assertEmptyTemplate(
98
-		Templating $templating,
99
-		string $code,
100
-		array $contexte = [],
101
-		string $message = ''
102
-	): void {
103
-		$actual = $templating->render($code, $contexte);
104
-
105
-		static::assertEmpty($actual, $message);
106
-	}
107
-
108
-	/**
109
-	 * Assertion qui vérifie que le résultat d’un template n’est pas vide
110
-	 *
111
-	 * @see assertOkTemplate()
112
-	 */
113
-	public static function assertNotEmptyTemplate(
114
-		Templating $templating,
115
-		string $code,
116
-		array $contexte = [],
117
-		string $message = ''
118
-	): void {
119
-		$actual = $templating->render($code, $contexte);
120
-
121
-		static::assertNotEmpty($actual, $message);
122
-	}
123
-
124
-	/**
125
-	 * Assertion qui vérifie le résultat d’un template
126
-	 *
127
-	 * @see assertOkTemplate()
128
-	 */
129
-	public static function assertEqualsTemplate(
130
-		string $expected,
131
-		Templating $templating,
132
-		string $code,
133
-		array $contexte = [],
134
-		string $message = ''
135
-	): void {
136
-		$actual = $templating->render($code, $contexte);
137
-
138
-		static::assertEquals($expected, $actual, $message);
139
-	}
140
-
141
-	/**
142
-	 * Assertion qui vérifie le résultat d’un template
143
-	 *
144
-	 * @see assertOkTemplate()
145
-	 */
146
-	public static function assertNotEqualsTemplate(
147
-		string $expected,
148
-		Templating $templating,
149
-		string $code,
150
-		array $contexte = [],
151
-		string $message = ''
152
-	): void {
153
-		$actual = $templating->render($code, $contexte);
154
-
155
-		static::assertNotEquals($expected, $actual, $message);
156
-	}
157
-
158
-	/**
159
-	 * Assertion qui vérifie que le résultat d’un code de squelette est 'OK'
160
-	 *
161
-	 * @example $this->assertOkCode('[(#CONFIG{pasla}|non)ok]');
162
-	 *
163
-	 * @param string $code Code ou chemin du squelette
164
-	 * @param array $contexte Contexte de calcul du squelette
165
-	 * @param string $message Message pour une eventuelle erreur
166
-	 */
167
-	public static function assertOkCode(string $code, array $contexte = [], string $message = ''): void {
168
-		static::assertOkTemplate(Templating::fromString(), $code, $contexte);
169
-	}
170
-
171
-	/**
172
-	 * Assertion qui vérifie que le résultat d’un code de squelette n’est pas 'OK'
173
-	 *
174
-	 * @see assertOkCode()
175
-	 */
176
-	public function assertNotOkCode(string $code, array $contexte = [], $message = ''): void {
177
-		static::assertNotOkTemplate(Templating::fromString(), $code, $contexte);
178
-	}
179
-
180
-	/**
181
-	 * Assertion qui vérifie que le résultat d’un code de squelette est vide
182
-	 *
183
-	 * @see assertOkCode()
184
-	 */
185
-	public static function assertEmptyCode(string $code, array $contexte = [], string $message = ''): void {
186
-		static::assertEmptyTemplate(Templating::fromString(), $code, $contexte);
187
-	}
188
-
189
-	/**
190
-	 * Assertion qui vérifie que le résultat d’un code de squelette n’est pas vide
191
-	 *
192
-	 * @see assertOkCode()
193
-	 */
194
-	public static function assertNotEmptyCode(string $code, array $contexte = [], string $message = ''): void {
195
-		static::assertNotEmptyTemplate(Templating::fromString(), $code, $contexte);
196
-	}
197
-
198
-	/**
199
-	 * Assertion qui vérifie le résultat d’un code de squelette
200
-	 *
201
-	 * @see assertOkCode()
202
-	 */
203
-	public function assertEqualsCode(string $expected, string $code, array $contexte = [], $message = ''): void {
204
-		static::assertEqualsTemplate($expected, Templating::fromString(), $code, $contexte);
205
-	}
206
-
207
-	/**
208
-	 * Assertion qui vérifie le résultat d’un code de squelette
209
-	 *
210
-	 * @see assertOkCode()
211
-	 */
212
-	public function assertNotEqualsCode(string $expected, string $code, array $contexte = [], $message = '') {
213
-		static::assertNotEqualsTemplate($expected, Templating::fromString(), $code, $contexte);
214
-	}
215
-
216
-	/**
217
-	 * Assertion qui vérifie que le résultat d’un fichier de squelette est 'OK'
218
-	 *
219
-	 * @example $this->assertOkSquelette(__DIR__ . '/data/squelette.html');
220
-	 *
221
-	 * @param string $code Code ou chemin du squelette
222
-	 * @param array $contexte Contexte de calcul du squelette
223
-	 * @param string $message Message pour une eventuelle erreur
224
-	 */
225
-	public static function assertOkSquelette(string $code, array $contexte = [], string $message = ''): void {
226
-		static::assertOkTemplate(Templating::fromFile(), $code, $contexte);
227
-	}
228
-
229
-	/**
230
-	 * Assertion qui vérifie que le résultat d’un fichier de squelette n’est pas 'OK'
231
-	 *
232
-	 * @see assertOkSquelette()
233
-	 */
234
-	public function assertNotOkSquelette(string $code, array $contexte = [], $message = ''): void {
235
-		static::assertNotOkTemplate(Templating::fromFile(), $code, $contexte);
236
-	}
237
-
238
-	/**
239
-	 * Assertion qui vérifie que le résultat d’un fichier de squelette est vide
240
-	 *
241
-	 * @see assertOkSquelette()
242
-	 */
243
-	public static function assertEmptySquelette(string $code, array $contexte = [], string $message = ''): void {
244
-		static::assertEmptyTemplate(Templating::fromFile(), $code, $contexte);
245
-	}
246
-
247
-	/**
248
-	 * Assertion qui vérifie que le résultat d’un fichier de squelette n’est pas vide
249
-	 *
250
-	 * @see assertOkSquelette()
251
-	 */
252
-	public static function assertNotEmptySquelette(string $code, array $contexte = [], string $message = ''): void {
253
-		static::assertNotEmptyTemplate(Templating::fromFile(), $code, $contexte);
254
-	}
255
-
256
-	/**
257
-	 * Assertion qui vérifie le résultat d’un fichier de squelette
258
-	 *
259
-	 * @see assertOkSquelette()
260
-	 */
261
-	public function assertEqualsSquelette(string $expected, string $code, array $contexte = [], $message = ''): void {
262
-		static::assertEqualsTemplate($expected, Templating::fromFile(), $code, $contexte);
263
-	}
264
-
265
-	/**
266
-	 * Assertion qui vérifie le résultat d’un fichier de squelette
267
-	 *
268
-	 * @see assertOkSquelette()
269
-	 */
270
-	public function assertNotEqualsSquelette(string $expected, string $code, array $contexte = [], $message = '') {
271
-		static::assertNotEqualsTemplate($expected, Templating::fromFile(), $code, $contexte);
272
-	}
15
+    /**
16
+     * Determine si une chaine débute par 'NA' (non applicable)
17
+     */
18
+    public static function isNa(string $chaine): bool {
19
+        return str_starts_with(strtolower(trim($chaine)), 'na');
20
+    }
21
+
22
+    /**
23
+     * Retourne le chemin relatif depuis la racine de SPIP
24
+     */
25
+    public static function relativePath(string $fullDirectory): string {
26
+        if (!defined('_SPIP_TEST_CHDIR')) {
27
+            throw new RuntimeException('_SPIP_TEST_CHDIR needs to be defined');
28
+        }
29
+
30
+        return substr($fullDirectory, strlen(_SPIP_TEST_CHDIR) + 1);
31
+    }
32
+
33
+    /**
34
+     * Determine si une chaine débute par 'OK'
35
+     */
36
+    public static function assertOk($actual, string $message = ''): void {
37
+        $constraint = new IsOk($actual);
38
+
39
+        static::assertThat($actual, $constraint, $message);
40
+    }
41
+
42
+    /**
43
+     * Determine si une chaine ne débute pas par 'OK'
44
+     */
45
+    public static function assertNotOk($actual, string $message = ''): void {
46
+        $constraint = new LogicalNot(new IsOk($actual));
47
+
48
+        static::assertThat($actual, $constraint, $message);
49
+    }
50
+
51
+    /**
52
+     * Assertion qui vérifie que le résultat d’un template est 'OK'
53
+     *
54
+     * @example
55
+     * $templating = new Templating(new StringLoader());
56
+     * $this->assertOkTemplate($templating, '[(#CONFIG{pasla}|non)ok]');
57
+     *
58
+     * $templating = new Templating(new FileLoader());
59
+     * $this->assertOkTemplate($templating, __DIR__ . '/data/truc.html');
60
+     *
61
+     * @param string $code Code ou chemin du squelette
62
+     * @param array $contexte Contexte de calcul du squelette
63
+     * @param string $message Message pour une eventuelle erreur
64
+     */
65
+    public static function assertOkTemplate(
66
+        Templating $templating,
67
+        string $code,
68
+        array $contexte = [],
69
+        string $message = ''
70
+    ): void {
71
+        $actual = $templating->render($code, $contexte);
72
+
73
+        static::assertOk($actual, $message);
74
+    }
75
+
76
+    /**
77
+     * Assertion qui vérifie que le résultat d’un template est vide
78
+     *
79
+     * @see assertOkTemplate()
80
+     */
81
+    public static function assertNotOkTemplate(
82
+        Templating $templating,
83
+        string $code,
84
+        array $contexte = [],
85
+        string $message = ''
86
+    ): void {
87
+        $actual = $templating->render($code, $contexte);
88
+
89
+        static::assertNotOk($actual, $message);
90
+    }
91
+
92
+    /**
93
+     * Assertion qui vérifie que le résultat d’un template est vide
94
+     *
95
+     * @see assertOkTemplate()
96
+     */
97
+    public static function assertEmptyTemplate(
98
+        Templating $templating,
99
+        string $code,
100
+        array $contexte = [],
101
+        string $message = ''
102
+    ): void {
103
+        $actual = $templating->render($code, $contexte);
104
+
105
+        static::assertEmpty($actual, $message);
106
+    }
107
+
108
+    /**
109
+     * Assertion qui vérifie que le résultat d’un template n’est pas vide
110
+     *
111
+     * @see assertOkTemplate()
112
+     */
113
+    public static function assertNotEmptyTemplate(
114
+        Templating $templating,
115
+        string $code,
116
+        array $contexte = [],
117
+        string $message = ''
118
+    ): void {
119
+        $actual = $templating->render($code, $contexte);
120
+
121
+        static::assertNotEmpty($actual, $message);
122
+    }
123
+
124
+    /**
125
+     * Assertion qui vérifie le résultat d’un template
126
+     *
127
+     * @see assertOkTemplate()
128
+     */
129
+    public static function assertEqualsTemplate(
130
+        string $expected,
131
+        Templating $templating,
132
+        string $code,
133
+        array $contexte = [],
134
+        string $message = ''
135
+    ): void {
136
+        $actual = $templating->render($code, $contexte);
137
+
138
+        static::assertEquals($expected, $actual, $message);
139
+    }
140
+
141
+    /**
142
+     * Assertion qui vérifie le résultat d’un template
143
+     *
144
+     * @see assertOkTemplate()
145
+     */
146
+    public static function assertNotEqualsTemplate(
147
+        string $expected,
148
+        Templating $templating,
149
+        string $code,
150
+        array $contexte = [],
151
+        string $message = ''
152
+    ): void {
153
+        $actual = $templating->render($code, $contexte);
154
+
155
+        static::assertNotEquals($expected, $actual, $message);
156
+    }
157
+
158
+    /**
159
+     * Assertion qui vérifie que le résultat d’un code de squelette est 'OK'
160
+     *
161
+     * @example $this->assertOkCode('[(#CONFIG{pasla}|non)ok]');
162
+     *
163
+     * @param string $code Code ou chemin du squelette
164
+     * @param array $contexte Contexte de calcul du squelette
165
+     * @param string $message Message pour une eventuelle erreur
166
+     */
167
+    public static function assertOkCode(string $code, array $contexte = [], string $message = ''): void {
168
+        static::assertOkTemplate(Templating::fromString(), $code, $contexte);
169
+    }
170
+
171
+    /**
172
+     * Assertion qui vérifie que le résultat d’un code de squelette n’est pas 'OK'
173
+     *
174
+     * @see assertOkCode()
175
+     */
176
+    public function assertNotOkCode(string $code, array $contexte = [], $message = ''): void {
177
+        static::assertNotOkTemplate(Templating::fromString(), $code, $contexte);
178
+    }
179
+
180
+    /**
181
+     * Assertion qui vérifie que le résultat d’un code de squelette est vide
182
+     *
183
+     * @see assertOkCode()
184
+     */
185
+    public static function assertEmptyCode(string $code, array $contexte = [], string $message = ''): void {
186
+        static::assertEmptyTemplate(Templating::fromString(), $code, $contexte);
187
+    }
188
+
189
+    /**
190
+     * Assertion qui vérifie que le résultat d’un code de squelette n’est pas vide
191
+     *
192
+     * @see assertOkCode()
193
+     */
194
+    public static function assertNotEmptyCode(string $code, array $contexte = [], string $message = ''): void {
195
+        static::assertNotEmptyTemplate(Templating::fromString(), $code, $contexte);
196
+    }
197
+
198
+    /**
199
+     * Assertion qui vérifie le résultat d’un code de squelette
200
+     *
201
+     * @see assertOkCode()
202
+     */
203
+    public function assertEqualsCode(string $expected, string $code, array $contexte = [], $message = ''): void {
204
+        static::assertEqualsTemplate($expected, Templating::fromString(), $code, $contexte);
205
+    }
206
+
207
+    /**
208
+     * Assertion qui vérifie le résultat d’un code de squelette
209
+     *
210
+     * @see assertOkCode()
211
+     */
212
+    public function assertNotEqualsCode(string $expected, string $code, array $contexte = [], $message = '') {
213
+        static::assertNotEqualsTemplate($expected, Templating::fromString(), $code, $contexte);
214
+    }
215
+
216
+    /**
217
+     * Assertion qui vérifie que le résultat d’un fichier de squelette est 'OK'
218
+     *
219
+     * @example $this->assertOkSquelette(__DIR__ . '/data/squelette.html');
220
+     *
221
+     * @param string $code Code ou chemin du squelette
222
+     * @param array $contexte Contexte de calcul du squelette
223
+     * @param string $message Message pour une eventuelle erreur
224
+     */
225
+    public static function assertOkSquelette(string $code, array $contexte = [], string $message = ''): void {
226
+        static::assertOkTemplate(Templating::fromFile(), $code, $contexte);
227
+    }
228
+
229
+    /**
230
+     * Assertion qui vérifie que le résultat d’un fichier de squelette n’est pas 'OK'
231
+     *
232
+     * @see assertOkSquelette()
233
+     */
234
+    public function assertNotOkSquelette(string $code, array $contexte = [], $message = ''): void {
235
+        static::assertNotOkTemplate(Templating::fromFile(), $code, $contexte);
236
+    }
237
+
238
+    /**
239
+     * Assertion qui vérifie que le résultat d’un fichier de squelette est vide
240
+     *
241
+     * @see assertOkSquelette()
242
+     */
243
+    public static function assertEmptySquelette(string $code, array $contexte = [], string $message = ''): void {
244
+        static::assertEmptyTemplate(Templating::fromFile(), $code, $contexte);
245
+    }
246
+
247
+    /**
248
+     * Assertion qui vérifie que le résultat d’un fichier de squelette n’est pas vide
249
+     *
250
+     * @see assertOkSquelette()
251
+     */
252
+    public static function assertNotEmptySquelette(string $code, array $contexte = [], string $message = ''): void {
253
+        static::assertNotEmptyTemplate(Templating::fromFile(), $code, $contexte);
254
+    }
255
+
256
+    /**
257
+     * Assertion qui vérifie le résultat d’un fichier de squelette
258
+     *
259
+     * @see assertOkSquelette()
260
+     */
261
+    public function assertEqualsSquelette(string $expected, string $code, array $contexte = [], $message = ''): void {
262
+        static::assertEqualsTemplate($expected, Templating::fromFile(), $code, $contexte);
263
+    }
264
+
265
+    /**
266
+     * Assertion qui vérifie le résultat d’un fichier de squelette
267
+     *
268
+     * @see assertOkSquelette()
269
+     */
270
+    public function assertNotEqualsSquelette(string $expected, string $code, array $contexte = [], $message = '') {
271
+        static::assertNotEqualsTemplate($expected, Templating::fromFile(), $code, $contexte);
272
+    }
273 273
 }
Please login to merge, or discard this patch.
ecrire/tests/Propre/EchappeHtmlTest.php 2 patches
Indentation   +116 added lines, -116 removed lines patch added patch discarded remove patch
@@ -12,123 +12,123 @@  discard block
 block discarded – undo
12 12
 use PHPUnit\Framework\TestCase;
13 13
 
14 14
 function callback_test_propre_echappe_html_echappe($regs): string {
15
-	return 'A';
15
+    return 'A';
16 16
 }
17 17
 
18 18
 function callback_test_propre_echappe_html_traiter_echap_html($regs): string {
19
-	return callback_test_propre_echappe_html_echappe($regs);
19
+    return callback_test_propre_echappe_html_echappe($regs);
20 20
 }
21 21
 
22 22
 function callback_test_propre_echappe_html_traiter_echap_code($regs): string {
23
-	return callback_test_propre_echappe_html_echappe($regs);
23
+    return callback_test_propre_echappe_html_echappe($regs);
24 24
 }
25 25
 
26 26
 function callback_test_propre_echappe_html_traiter_echap_cadre($regs): string {
27
-	return callback_test_propre_echappe_html_echappe($regs);
27
+    return callback_test_propre_echappe_html_echappe($regs);
28 28
 }
29 29
 
30 30
 function callback_test_propre_echappe_html_traiter_echap_frame($regs): string {
31
-	return callback_test_propre_echappe_html_echappe($regs);
31
+    return callback_test_propre_echappe_html_echappe($regs);
32 32
 }
33 33
 
34 34
 function callback_test_propre_echappe_html_traiter_echap_script($regs): string {
35
-	return callback_test_propre_echappe_html_echappe($regs);
35
+    return callback_test_propre_echappe_html_echappe($regs);
36 36
 }
37 37
 
38 38
 class EchappeHtmlTest extends TestCase
39 39
 {
40
-	public static function setUpBeforeClass(): void {
41
-		find_in_path('inc/texte.php', '', true);
42
-	}
43
-
44
-	#[DataProvider('providerSimpleEchappeHtml')]
45
-	public function testSimpleEchappeHtml($expected, ...$args): void {
46
-		$actual = echappe_html(
47
-			$args[0],
48
-			$args[1] ?? '',
49
-			$args[2] ?? false,
50
-			$args[3] ?? '',
51
-			__NAMESPACE__ . '\\callback_test_propre_echappe_html_'
52
-		);
53
-		$this->assertSame($expected, $actual);
54
-
55
-		// et on teste le retour
56
-		$retour = echappe_retour($actual, $args[1] ?? '');
57
-		$this->assertSame($args[0], $retour);
58
-	}
59
-
60
-	public static function providerSimpleEchappeHtml(): array {
61
-		find_in_path('inc/texte_mini.php', '', true);
62
-		$befores = [
63
-			'',
64
-			'Un texte avant',
65
-			"Un texte avant sur\n\nplusieurs lignes et avec un < pour voir",
66
-			"Un texte avant sur\n\nplusieurs lignes et avec un > pour voir",
67
-		];
68
-		$afters = [
69
-			'',
70
-			'Un texte après',
71
-			"Un texte après sur\n\nplusieurs lignes et avec un < pour voir",
72
-			"Un texte après sur\n\nplusieurs lignes et avec un > pour voir",
73
-		];
74
-		$insides = ['', 'Un texte dedans', "\nun texte dedans", "un texte dedans\n", "\nun texte dedans\n"];
75
-		$balises = ['html', 'pre', 'code', 'cadre', 'frame', 'script', 'style', 'svg'];
76
-		$attrs = ['', 'class="truc"', 'classe="base64"', 'title="truc"'];
77
-		$pregs = ['', ',<(svg)(\b[^>]*)?>(.*)</\1>,UimsS'];
78
-		$essais = [];
79
-
80
-		$source = 'SIMPLE';
81
-		$no_transform = true;
82
-		foreach ($balises as $balise) {
83
-			foreach ($attrs as $attr) {
84
-				$cpt = 1;
85
-				foreach ($insides as $inside) {
86
-					$html = "<{$balise}" . ($attr ? " $attr" : '') . ">$inside</$balise>";
87
-					$code_echappe = \code_echappement($html, $source, $no_transform);
88
-					foreach ($befores as $before) {
89
-						foreach ($afters as $after) {
90
-							$texte = $before . $html . $after;
91
-							foreach ($pregs as $preg) {
92
-								// si preg vide et pas balise svg OU si preg ET balise SVG on attend un echappement
93
-								// sinon on attends le texte d'origine
94
-								if ($preg ? $balise === 'svg' : $balise !== 'svg') {
95
-									$expected = $before . $code_echappe . $after;
96
-								} else {
97
-									$expected = $texte;
98
-								}
99
-								$essais["<{$balise}{$attr}>_$cpt"] = [$expected, $texte, $source, $no_transform, $preg];
100
-								$cpt++;
101
-							}
102
-						}
103
-					}
104
-				}
105
-			}
106
-		}
107
-
108
-		return $essais;
109
-	}
110
-
111
-	#[DataProvider('providerPropreEchappeHtml')]
112
-	public function testPropreEchappeHtml($expected, ...$args): void {
113
-		$actual = echappe_html(
114
-			$args[0],
115
-			$args[1] ?? '',
116
-			$args[2] ?? false,
117
-			$args[3] ?? '',
118
-			__NAMESPACE__ . '\\callback_test_propre_echappe_html_'
119
-		);
120
-		$this->assertSame($expected, $actual);
121
-	}
122
-
123
-	public static function providerPropreEchappeHtml(): array {
124
-		$essais = [];
125
-		$marque = '<span class="base64" title="QQ=="></span>';
126
-		$essais['simple imbriqué'] = [
127
-			'avant 1' . $marque . 'apres 1</code>apres 2',
128
-			'avant 1<code class="php"> avant 2<code>le code</code>apres 1</code>apres 2',
129
-		];
130
-		$essais['complexe imbriqué'] = [
131
-			<<<CODE_SAMPLE
40
+    public static function setUpBeforeClass(): void {
41
+        find_in_path('inc/texte.php', '', true);
42
+    }
43
+
44
+    #[DataProvider('providerSimpleEchappeHtml')]
45
+    public function testSimpleEchappeHtml($expected, ...$args): void {
46
+        $actual = echappe_html(
47
+            $args[0],
48
+            $args[1] ?? '',
49
+            $args[2] ?? false,
50
+            $args[3] ?? '',
51
+            __NAMESPACE__ . '\\callback_test_propre_echappe_html_'
52
+        );
53
+        $this->assertSame($expected, $actual);
54
+
55
+        // et on teste le retour
56
+        $retour = echappe_retour($actual, $args[1] ?? '');
57
+        $this->assertSame($args[0], $retour);
58
+    }
59
+
60
+    public static function providerSimpleEchappeHtml(): array {
61
+        find_in_path('inc/texte_mini.php', '', true);
62
+        $befores = [
63
+            '',
64
+            'Un texte avant',
65
+            "Un texte avant sur\n\nplusieurs lignes et avec un < pour voir",
66
+            "Un texte avant sur\n\nplusieurs lignes et avec un > pour voir",
67
+        ];
68
+        $afters = [
69
+            '',
70
+            'Un texte après',
71
+            "Un texte après sur\n\nplusieurs lignes et avec un < pour voir",
72
+            "Un texte après sur\n\nplusieurs lignes et avec un > pour voir",
73
+        ];
74
+        $insides = ['', 'Un texte dedans', "\nun texte dedans", "un texte dedans\n", "\nun texte dedans\n"];
75
+        $balises = ['html', 'pre', 'code', 'cadre', 'frame', 'script', 'style', 'svg'];
76
+        $attrs = ['', 'class="truc"', 'classe="base64"', 'title="truc"'];
77
+        $pregs = ['', ',<(svg)(\b[^>]*)?>(.*)</\1>,UimsS'];
78
+        $essais = [];
79
+
80
+        $source = 'SIMPLE';
81
+        $no_transform = true;
82
+        foreach ($balises as $balise) {
83
+            foreach ($attrs as $attr) {
84
+                $cpt = 1;
85
+                foreach ($insides as $inside) {
86
+                    $html = "<{$balise}" . ($attr ? " $attr" : '') . ">$inside</$balise>";
87
+                    $code_echappe = \code_echappement($html, $source, $no_transform);
88
+                    foreach ($befores as $before) {
89
+                        foreach ($afters as $after) {
90
+                            $texte = $before . $html . $after;
91
+                            foreach ($pregs as $preg) {
92
+                                // si preg vide et pas balise svg OU si preg ET balise SVG on attend un echappement
93
+                                // sinon on attends le texte d'origine
94
+                                if ($preg ? $balise === 'svg' : $balise !== 'svg') {
95
+                                    $expected = $before . $code_echappe . $after;
96
+                                } else {
97
+                                    $expected = $texte;
98
+                                }
99
+                                $essais["<{$balise}{$attr}>_$cpt"] = [$expected, $texte, $source, $no_transform, $preg];
100
+                                $cpt++;
101
+                            }
102
+                        }
103
+                    }
104
+                }
105
+            }
106
+        }
107
+
108
+        return $essais;
109
+    }
110
+
111
+    #[DataProvider('providerPropreEchappeHtml')]
112
+    public function testPropreEchappeHtml($expected, ...$args): void {
113
+        $actual = echappe_html(
114
+            $args[0],
115
+            $args[1] ?? '',
116
+            $args[2] ?? false,
117
+            $args[3] ?? '',
118
+            __NAMESPACE__ . '\\callback_test_propre_echappe_html_'
119
+        );
120
+        $this->assertSame($expected, $actual);
121
+    }
122
+
123
+    public static function providerPropreEchappeHtml(): array {
124
+        $essais = [];
125
+        $marque = '<span class="base64" title="QQ=="></span>';
126
+        $essais['simple imbriqué'] = [
127
+            'avant 1' . $marque . 'apres 1</code>apres 2',
128
+            'avant 1<code class="php"> avant 2<code>le code</code>apres 1</code>apres 2',
129
+        ];
130
+        $essais['complexe imbriqué'] = [
131
+            <<<CODE_SAMPLE
132 132
 {{{code class="php"}}}
133 133
 avant blah
134 134
 {$marque}
@@ -172,21 +172,21 @@  discard block
 block discarded – undo
172 172
 
173 173
 On peut croire que c'est embétant , faut mettre une div autour pour encadrer , mais cela permet d'orienter geshi en cours de route comme dans [Compte à rebours (revisited)->article6]
174 174
 CODE_SAMPLE
175
-		];
176
-		$essais['unicode sans rien'] = [
177
-			'azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-',
178
-			'azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-',
179
-		];
180
-		$essais['sans rien'] = [
181
-			'astuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolos',
182
-			'astuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolos',
183
-		];
184
-		$essais['code sans imbrication'] = [
185
-			'avant 1' . $marque . 'apres 2',
186
-			'avant 1<code class="php"> avant 2 code le code code apres 1</code>apres 2',
187
-		];
188
-		$essais['pourriture'] = [
189
-			<<<CODE_SAMPLE
175
+        ];
176
+        $essais['unicode sans rien'] = [
177
+            'azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-',
178
+            'azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-azerty小さくてもグローバルなケベックの村-',
179
+        ];
180
+        $essais['sans rien'] = [
181
+            'astuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolos',
182
+            'astuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolos',
183
+        ];
184
+        $essais['code sans imbrication'] = [
185
+            'avant 1' . $marque . 'apres 2',
186
+            'avant 1<code class="php"> avant 2 code le code code apres 1</code>apres 2',
187
+        ];
188
+        $essais['pourriture'] = [
189
+            <<<CODE_SAMPLE
190 190
 Le code mis en {$marque} ou en {$marque} peut lui même contenir  {$marque} ou {$marque} ...
191 191
 {$marque}
192 192
 Je voudrais présenter l'usage du plugin coloration_code qui fournit une extension à geshi : la classe "spip".
@@ -283,7 +283,7 @@  discard block
 block discarded – undo
283 283
 
284 284
 Donc comme l'ancien coloration_code, le  &lt;/code> est mangé et "et le tour est joué" apparait hors-code.
285 285
 CODE_SAMPLE
286
-		];
287
-		return $essais;
288
-	}
286
+        ];
287
+        return $essais;
288
+    }
289 289
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 			$args[1] ?? '',
49 49
 			$args[2] ?? false,
50 50
 			$args[3] ?? '',
51
-			__NAMESPACE__ . '\\callback_test_propre_echappe_html_'
51
+			__NAMESPACE__.'\\callback_test_propre_echappe_html_'
52 52
 		);
53 53
 		$this->assertSame($expected, $actual);
54 54
 
@@ -83,16 +83,16 @@  discard block
 block discarded – undo
83 83
 			foreach ($attrs as $attr) {
84 84
 				$cpt = 1;
85 85
 				foreach ($insides as $inside) {
86
-					$html = "<{$balise}" . ($attr ? " $attr" : '') . ">$inside</$balise>";
86
+					$html = "<{$balise}".($attr ? " $attr" : '').">$inside</$balise>";
87 87
 					$code_echappe = \code_echappement($html, $source, $no_transform);
88 88
 					foreach ($befores as $before) {
89 89
 						foreach ($afters as $after) {
90
-							$texte = $before . $html . $after;
90
+							$texte = $before.$html.$after;
91 91
 							foreach ($pregs as $preg) {
92 92
 								// si preg vide et pas balise svg OU si preg ET balise SVG on attend un echappement
93 93
 								// sinon on attends le texte d'origine
94 94
 								if ($preg ? $balise === 'svg' : $balise !== 'svg') {
95
-									$expected = $before . $code_echappe . $after;
95
+									$expected = $before.$code_echappe.$after;
96 96
 								} else {
97 97
 									$expected = $texte;
98 98
 								}
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
 			$args[1] ?? '',
116 116
 			$args[2] ?? false,
117 117
 			$args[3] ?? '',
118
-			__NAMESPACE__ . '\\callback_test_propre_echappe_html_'
118
+			__NAMESPACE__.'\\callback_test_propre_echappe_html_'
119 119
 		);
120 120
 		$this->assertSame($expected, $actual);
121 121
 	}
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
 		$essais = [];
125 125
 		$marque = '<span class="base64" title="QQ=="></span>';
126 126
 		$essais['simple imbriqué'] = [
127
-			'avant 1' . $marque . 'apres 1</code>apres 2',
127
+			'avant 1'.$marque.'apres 1</code>apres 2',
128 128
 			'avant 1<code class="php"> avant 2<code>le code</code>apres 1</code>apres 2',
129 129
 		];
130 130
 		$essais['complexe imbriqué'] = [
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
 			'astuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolosastuce & travaux de mode rigolos',
183 183
 		];
184 184
 		$essais['code sans imbrication'] = [
185
-			'avant 1' . $marque . 'apres 2',
185
+			'avant 1'.$marque.'apres 2',
186 186
 			'avant 1<code class="php"> avant 2 code le code code apres 1</code>apres 2',
187 187
 		];
188 188
 		$essais['pourriture'] = [
Please login to merge, or discard this patch.
ecrire/tests/Propre/CodeImbriqueTest.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -15,18 +15,18 @@  discard block
 block discarded – undo
15 15
 
16 16
 class CodeImbriqueTest extends TestCase
17 17
 {
18
-	public static function setUpBeforeClass(): void {
19
-		find_in_path('inc/texte.php', '', true);
20
-	}
18
+    public static function setUpBeforeClass(): void {
19
+        find_in_path('inc/texte.php', '', true);
20
+    }
21 21
 
22
-	#[DataProvider('providerPropreCodeImbrique')]
23
-	public function testPropreCodeImbrique($expected, ...$args): void {
24
-		$actual = strlen(propre(...$args)) > 0;
25
-		$this->assertSame($expected, $actual);
26
-	}
22
+    #[DataProvider('providerPropreCodeImbrique')]
23
+    public function testPropreCodeImbrique($expected, ...$args): void {
24
+        $actual = strlen(propre(...$args)) > 0;
25
+        $this->assertSame($expected, $actual);
26
+    }
27 27
 
28
-	public static function providerPropreCodeImbrique(): array {
29
-		return [[true, '({{{Classificar els resultats}}}
28
+    public static function providerPropreCodeImbrique(): array {
29
+        return [[true, '({{{Classificar els resultats}}}
30 30
 
31 31
 <html><tt><b>{par</b> <i>critère_de_classement</i><b>}</b></tt></html> iIndica l’ordre en què es presenten els resultats. Aquest criteri de classificació correspon a una de les etiquetes extretes de la base de dades per cada tipus de bucle. Per exemple, podrem classificar els articles per la data <code>{per date}</code>, per la data en què han estat redactats  <code>{par date_redac}</code> o per títol <code>{par titre}</code>. (Fixeu-vos que, tot i que les etiquetes es presenten en majúscules, els criteris de classificació es presenten en minúscules.)
32 32
 
@@ -232,5 +232,5 @@  discard block
 block discarded – undo
232 232
 {{{Divers}}}
233 233
 
234 234
 {{<code>{logo}</code>}} permet seleccionar només els articles (o seccions, etc) que disposin d\'un logo. Funciona també en el bucle (HIERARCHIE). El criteri invers <code>{!logo}</code> llista els objectes que no tenen logo.']];
235
-	}
235
+    }
236 236
 }
Please login to merge, or discard this patch.
ecrire/tests/Propre/TraiterModelesTest.php 1 patch
Indentation   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -8,38 +8,38 @@
 block discarded – undo
8 8
 
9 9
 class TraiterModelesTest extends TestCase
10 10
 {
11
-	public static function setUpBeforeClass(): void {
12
-		find_in_path('inc/modeles.php', '', true);
13
-	}
14
-
15
-	public function testTraiterModelesDefaut(): void {
16
-		unset($GLOBALS['doublons_documents_inclus']);
17
-
18
-		$texte = 'Mon texte <doc1> <img2> <emb3> et paf les doublons';
19
-		traiter_modeles($texte);
20
-		$this->assertNull($GLOBALS['doublons_documents_inclus'] ?? null);
21
-
22
-		traiter_modeles($texte, [
23
-			'documents' => ['doc', 'emb', 'img'],
24
-		]);
25
-		$this->assertNotEmpty($GLOBALS['doublons_documents_inclus']);
26
-		$this->assertEquals([1, 2, 3], $GLOBALS['doublons_documents_inclus']);
27
-	}
28
-
29
-	public function testTraiterModelesAlbums(): void {
30
-		unset($GLOBALS['doublons_documents_inclus']);
31
-		unset($GLOBALS['doublons_albums_inclus']);
32
-
33
-		$texte = 'Mon texte <doc1> <img2> <emb3> et paf les doublons';
34
-
35
-		traiter_modeles($texte, ['albums' => ['album']]);
36
-		$this->assertNull($GLOBALS['doublons_documents_inclus'] ?? null);
37
-		$this->assertNull($GLOBALS['doublons_albums_inclus'] ?? null);
38
-
39
-		$texte = 'Mon texte <doc1> <img2> <emb3> et paf les doublons avec un album <album4> ?';
40
-		traiter_modeles($texte, ['albums' => ['album']]);
41
-		$this->assertNull($GLOBALS['doublons_documents_inclus'] ?? null);
42
-		$this->assertNotEmpty($GLOBALS['doublons_albums_inclus']);
43
-		$this->assertEquals([4], $GLOBALS['doublons_albums_inclus']);
44
-	}
11
+    public static function setUpBeforeClass(): void {
12
+        find_in_path('inc/modeles.php', '', true);
13
+    }
14
+
15
+    public function testTraiterModelesDefaut(): void {
16
+        unset($GLOBALS['doublons_documents_inclus']);
17
+
18
+        $texte = 'Mon texte <doc1> <img2> <emb3> et paf les doublons';
19
+        traiter_modeles($texte);
20
+        $this->assertNull($GLOBALS['doublons_documents_inclus'] ?? null);
21
+
22
+        traiter_modeles($texte, [
23
+            'documents' => ['doc', 'emb', 'img'],
24
+        ]);
25
+        $this->assertNotEmpty($GLOBALS['doublons_documents_inclus']);
26
+        $this->assertEquals([1, 2, 3], $GLOBALS['doublons_documents_inclus']);
27
+    }
28
+
29
+    public function testTraiterModelesAlbums(): void {
30
+        unset($GLOBALS['doublons_documents_inclus']);
31
+        unset($GLOBALS['doublons_albums_inclus']);
32
+
33
+        $texte = 'Mon texte <doc1> <img2> <emb3> et paf les doublons';
34
+
35
+        traiter_modeles($texte, ['albums' => ['album']]);
36
+        $this->assertNull($GLOBALS['doublons_documents_inclus'] ?? null);
37
+        $this->assertNull($GLOBALS['doublons_albums_inclus'] ?? null);
38
+
39
+        $texte = 'Mon texte <doc1> <img2> <emb3> et paf les doublons avec un album <album4> ?';
40
+        traiter_modeles($texte, ['albums' => ['album']]);
41
+        $this->assertNull($GLOBALS['doublons_documents_inclus'] ?? null);
42
+        $this->assertNotEmpty($GLOBALS['doublons_albums_inclus']);
43
+        $this->assertEquals([4], $GLOBALS['doublons_albums_inclus']);
44
+    }
45 45
 }
Please login to merge, or discard this patch.
ecrire/tests/Propre/TraiterRaccourcisTest.php 1 patch
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -13,40 +13,40 @@  discard block
 block discarded – undo
13 13
 
14 14
 class TraiterRaccourcisTest extends TestCase
15 15
 {
16
-	public static function setUpBeforeClass(): void {
17
-		find_in_path('inc/texte.php', '', true);
18
-	}
16
+    public static function setUpBeforeClass(): void {
17
+        find_in_path('inc/texte.php', '', true);
18
+    }
19 19
 
20
-	protected function setUp(): void {
21
-		$this->preparePropreTraiterRaccourcis();
22
-	}
20
+    protected function setUp(): void {
21
+        $this->preparePropreTraiterRaccourcis();
22
+    }
23 23
 
24
-	protected function tearDown(): void {
25
-		$this->preparePropreTraiterRaccourcis(true);
26
-	}
24
+    protected function tearDown(): void {
25
+        $this->preparePropreTraiterRaccourcis(true);
26
+    }
27 27
 
28
-	public function preparePropreTraiterRaccourcis(bool $revert = false) {
29
-		static $mem = [null, null];
30
-		if ($revert) {
31
-			$GLOBALS['toujours_paragrapher'] = $mem[0];
32
-			$GLOBALS['puce'] = $mem[1];
33
-		} else {
34
-			$mem = [$GLOBALS['toujours_paragrapher'] ?? null, $GLOBALS['puce'] ?? null];
35
-			// ces tests sont prevus pour la variable de personnalisation :
36
-			$GLOBALS['toujours_paragrapher'] = false;
37
-			$GLOBALS['puce'] = '-';
38
-		}
39
-	}
28
+    public function preparePropreTraiterRaccourcis(bool $revert = false) {
29
+        static $mem = [null, null];
30
+        if ($revert) {
31
+            $GLOBALS['toujours_paragrapher'] = $mem[0];
32
+            $GLOBALS['puce'] = $mem[1];
33
+        } else {
34
+            $mem = [$GLOBALS['toujours_paragrapher'] ?? null, $GLOBALS['puce'] ?? null];
35
+            // ces tests sont prevus pour la variable de personnalisation :
36
+            $GLOBALS['toujours_paragrapher'] = false;
37
+            $GLOBALS['puce'] = '-';
38
+        }
39
+    }
40 40
 
41
-	#[DataProvider('providerPropreTraiterRaccourcis')]
42
-	public function testPropreTraiterRaccourcis($expected, ...$args): void {
43
-		$actual = traiter_raccourcis(...$args);
44
-		$this->assertSame($expected, $actual);
45
-	}
41
+    #[DataProvider('providerPropreTraiterRaccourcis')]
42
+    public function testPropreTraiterRaccourcis($expected, ...$args): void {
43
+        $actual = traiter_raccourcis(...$args);
44
+        $this->assertSame($expected, $actual);
45
+    }
46 46
 
47
-	public static function providerPropreTraiterRaccourcis(): array {
48
-		return [
49
-			/*
47
+    public static function providerPropreTraiterRaccourcis(): array {
48
+        return [
49
+            /*
50 50
 			if (!preg_match($c = ",<p\b.*?>titi</p>\n<p\b.*?>toto</p>,",
51 51
 			$b = propre( $a = "titi\n\ntoto")))
52 52
 				$err[] = htmlentities ("$a -- $b -- $c");
@@ -59,21 +59,21 @@  discard block
 block discarded – undo
59 59
 			if (!strpos(propre("Ligne\n\n<br class=\"n\" />\n\nAutre"), '<br class="n" />'))
60 60
 				$err[] = "erreur le &lt;br class='truc'> n'est pas preserve";
61 61
 			*/
62
-			// trois tests un peu identiques sur <br />...
63
-			'div' => ["<div>titi<br />toto</div>\n<p><br />tata</p>\n", '<div>titi<br />toto</div><br />tata'],
64
-			'span' => ['<span>titi<br />toto</span><br />tata', '<span>titi<br />toto</span><br />tata'],
65
-			'table' => [
66
-				"<table><tr><td>titi<br />toto</td></tr></table>\n<p><br />tata</p>\n",
67
-				'<table><tr><td>titi<br />toto</td></tr></table><br />tata',
68
-			],
69
-			// melanges de \n et de <br />
70
-			'\n_x1_mixte1' => ["titi\n<br />toto<br />", "titi\n<br />toto<br />"],
71
-			'\n_x1_mixte2' => ["titi\n<br />\ntoto<br />", "titi\n<br />\ntoto<br />"],
72
-			// des tirets en debut de texte
73
-			'tirets1' => ["&mdash;&nbsp;chose\n<br />&mdash;&nbsp;truc", "-- chose\n-- truc"],
74
-			'tirets2' => ["-&nbsp;chose\n<br />-&nbsp;truc", "- chose\n- truc"],
75
-			// ligne horizontale
76
-			'lignehorizontale' => ['<hr class="spip" />', "\n----\n"],
77
-		];
78
-	}
62
+            // trois tests un peu identiques sur <br />...
63
+            'div' => ["<div>titi<br />toto</div>\n<p><br />tata</p>\n", '<div>titi<br />toto</div><br />tata'],
64
+            'span' => ['<span>titi<br />toto</span><br />tata', '<span>titi<br />toto</span><br />tata'],
65
+            'table' => [
66
+                "<table><tr><td>titi<br />toto</td></tr></table>\n<p><br />tata</p>\n",
67
+                '<table><tr><td>titi<br />toto</td></tr></table><br />tata',
68
+            ],
69
+            // melanges de \n et de <br />
70
+            '\n_x1_mixte1' => ["titi\n<br />toto<br />", "titi\n<br />toto<br />"],
71
+            '\n_x1_mixte2' => ["titi\n<br />\ntoto<br />", "titi\n<br />\ntoto<br />"],
72
+            // des tirets en debut de texte
73
+            'tirets1' => ["&mdash;&nbsp;chose\n<br />&mdash;&nbsp;truc", "-- chose\n-- truc"],
74
+            'tirets2' => ["-&nbsp;chose\n<br />-&nbsp;truc", "- chose\n- truc"],
75
+            // ligne horizontale
76
+            'lignehorizontale' => ['<hr class="spip" />', "\n----\n"],
77
+        ];
78
+    }
79 79
 }
Please login to merge, or discard this patch.
ecrire/tests/Propre/TraiterTableauTest.php 1 patch
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -9,84 +9,84 @@  discard block
 block discarded – undo
9 9
 
10 10
 class TraiterTableauTest extends TestCase
11 11
 {
12
-	public static function setUpBeforeClass(): void {
13
-		find_in_path('inc/texte.php', '', true);
14
-	}
12
+    public static function setUpBeforeClass(): void {
13
+        find_in_path('inc/texte.php', '', true);
14
+    }
15 15
 
16
-	#[DataProvider('providerPropreTraiterTableau')]
17
-	public function testPropreTraiterTableau($expected, ...$args): void {
18
-		$actual = traiter_raccourcis(...$args);
19
-		if (is_array($expected)) {
20
-			[$func, $pattern, $result] = $expected;
21
-			if ($result) {
22
-				$this->assertMatchesRegularExpression($pattern, $actual);
23
-			} else {
24
-				$this->assertDoesNotMatchRegularExpression($pattern, $actual);
25
-			}
26
-		} else {
27
-			$this->assertSame($expected, $actual);
28
-			$this->assertEquals($expected, $actual);
29
-		}
30
-	}
16
+    #[DataProvider('providerPropreTraiterTableau')]
17
+    public function testPropreTraiterTableau($expected, ...$args): void {
18
+        $actual = traiter_raccourcis(...$args);
19
+        if (is_array($expected)) {
20
+            [$func, $pattern, $result] = $expected;
21
+            if ($result) {
22
+                $this->assertMatchesRegularExpression($pattern, $actual);
23
+            } else {
24
+                $this->assertDoesNotMatchRegularExpression($pattern, $actual);
25
+            }
26
+        } else {
27
+            $this->assertSame($expected, $actual);
28
+            $this->assertEquals($expected, $actual);
29
+        }
30
+    }
31 31
 
32
-	public static function providerPropreTraiterTableau(): array {
33
-		return [
34
-			// trois tests un peu identiques sur <br />...
35
-			'caption seul' => [
36
-				['preg_match', ',<caption>\s*titre de mon tableau\s*</caption>,i', true],
37
-				'|| titre de mon tableau||
32
+    public static function providerPropreTraiterTableau(): array {
33
+        return [
34
+            // trois tests un peu identiques sur <br />...
35
+            'caption seul' => [
36
+                ['preg_match', ',<caption>\s*titre de mon tableau\s*</caption>,i', true],
37
+                '|| titre de mon tableau||
38 38
 |{{Colonne 0}} | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3}} | {{Colonne 4}} |
39 39
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
40 40
 | {{Valence}} | 16,25 | 23,31 | 49,21 | 13,43 |
41 41
 | {{Romans}} | 14,09 | 20,54 | 67,85 | 17 |
42 42
 | {{Montelimar}} | 20,15 | 26,43 | 70,21 | 16,82 |
43 43
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
44
-			],
45
-			'caption' => [
46
-				['preg_match', ',<caption>\s*titre de mon tableau.*</caption>,i', true],
47
-				'|| titre de mon tableau | resume de mon tableau ||
44
+            ],
45
+            'caption' => [
46
+                ['preg_match', ',<caption>\s*titre de mon tableau.*</caption>,i', true],
47
+                '|| titre de mon tableau | resume de mon tableau ||
48 48
 |{{Colonne 0}} | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3}} | {{Colonne 4}} |
49 49
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
50 50
 | {{Valence}} | 16,25 | 23,31 | 49,21 | 13,43 |
51 51
 | {{Romans}} | 14,09 | 20,54 | 67,85 | 17 |
52 52
 | {{Montelimar}} | 20,15 | 26,43 | 70,21 | 16,82 |
53 53
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
54
-			],
55
-			'summary' => [
56
-				[
57
-					'preg_match', ',<table[^>]*aria-describedby="([^"]*)"[^>]*>.*<caption>.* id="(\1)"[^>]*>\s*resume de mon tableau.*</caption>,is', true,
58
-				],
59
-				'|| titre de mon tableau | resume de mon tableau ||
54
+            ],
55
+            'summary' => [
56
+                [
57
+                    'preg_match', ',<table[^>]*aria-describedby="([^"]*)"[^>]*>.*<caption>.* id="(\1)"[^>]*>\s*resume de mon tableau.*</caption>,is', true,
58
+                ],
59
+                '|| titre de mon tableau | resume de mon tableau ||
60 60
 |{{Colonne 0}} | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3}} | {{Colonne 4}} |
61 61
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
62 62
 | {{Valence}} | 16,25 | 23,31 | 49,21 | 13,43 |
63 63
 | {{Romans}} | 14,09 | 20,54 | 67,85 | 17 |
64 64
 | {{Montelimar}} | 20,15 | 26,43 | 70,21 | 16,82 |
65 65
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
66
-			],
67
-			'thead simple' => [
68
-				['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
69
-				'|| titre de mon tableau | resume de mon tableau ||
66
+            ],
67
+            'thead simple' => [
68
+                ['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
69
+                '|| titre de mon tableau | resume de mon tableau ||
70 70
 |{{Colonne 0}} | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3}} | {{Colonne 4}} |
71 71
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
72 72
 | {{Valence}} | 16,25 | 23,31 | 49,21 | 13,43 |
73 73
 | {{Romans}} | 14,09 | 20,54 | 67,85 | 17 |
74 74
 | {{Montelimar}} | 20,15 | 26,43 | 70,21 | 16,82 |
75 75
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
76
-			],
77
-			'thead avec une colonne vide' => [
78
-				['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
79
-				'|| titre de mon tableau | resume de mon tableau ||
76
+            ],
77
+            'thead avec une colonne vide' => [
78
+                ['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
79
+                '|| titre de mon tableau | resume de mon tableau ||
80 80
 | | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3}} | {{Colonne 4}} |
81 81
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
82 82
 | {{Valence}} | 16,25 | 23,31 | 49,21 | 13,43 |
83 83
 | {{Romans}} | 14,09 | 20,54 | 67,85 | 17 |
84 84
 | {{Montelimar}} | 20,15 | 26,43 | 70,21 | 16,82 |
85 85
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
86
-			],
87
-			'thead avec une colonne vide et un retour ligne' => [
88
-				['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
89
-				'|| titre de mon tableau | resume de mon tableau ||
86
+            ],
87
+            'thead avec une colonne vide et un retour ligne' => [
88
+                ['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
89
+                '|| titre de mon tableau | resume de mon tableau ||
90 90
 | | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3
91 91
 _ avec retour ligne}} | {{Colonne 4}} |
92 92
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
@@ -94,23 +94,23 @@  discard block
 block discarded – undo
94 94
 | {{Romans}} | 14,09 | 20,54 | 67,85 | 17 |
95 95
 | {{Montelimar}} | 20,15 | 26,43 | 70,21 | 16,82 |
96 96
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
97
-			],
98
-			'thead errone' => [
99
-				['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', false],
100
-				'|| titre de mon tableau | resume de mon tableau ||
97
+            ],
98
+            'thead errone' => [
99
+                ['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', false],
100
+                '|| titre de mon tableau | resume de mon tableau ||
101 101
 |{{Colonne 0}} | {Colonne 1}} | {{Colonne 2}} | {{Colonne 3}} | {{Colonne 4}} |
102 102
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
103 103
 | {{Valence}} | 16,25 | 23,31 | 49,21 | 13,43 |
104 104
 | {{Romans}} | 14,09 | 20,54 | 67,85 | 17 |
105 105
 | {{Montelimar}} | 20,15 | 26,43 | 70,21 | 16,82 |
106 106
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
107
-			],
108
-			'fusion par |<|' => [['preg_match', ',colspan=.*colspan=,is', true], '| {{Bourg-de-Peage}} | 1-2 |<|3-4|<|'],
109
-			"fusion |<| avec conservation d'URL dans un raccourci de liens" => [
110
-				['preg_match', ',colspan=.*->,is', true],
111
-				'|test avec fusion dans tous les sens|<|
107
+            ],
108
+            'fusion par |<|' => [['preg_match', ',colspan=.*colspan=,is', true], '| {{Bourg-de-Peage}} | 1-2 |<|3-4|<|'],
109
+            "fusion |<| avec conservation d'URL dans un raccourci de liens" => [
110
+                ['preg_match', ',colspan=.*->,is', true],
111
+                '|test avec fusion dans tous les sens|<|
112 112
 |test1 |[mon beau lien->http://foo.fr]|',
113
-			],
114
-		];
115
-	}
113
+            ],
114
+        ];
115
+    }
116 116
 }
Please login to merge, or discard this patch.