From d277aaae8bb02e7427baa3149fa7a602e3ebacda Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Mon, 10 Jul 2023 13:37:30 +0200
Subject: [PATCH] tests: tests abs_url en PHPUnit

---
 ecrire/tests/Urls/AbsUrlTest.php              | 49 +++++++++++++++++++
 .../{Utils => Urls}/ParametreUrlTest.php      |  2 +-
 .../{Utils => Urls}/TesterUrlAbsolueTest.php  |  2 +-
 ecrire/tests/{Utils => Urls}/UrlDeTest.php    |  2 +-
 ecrire/tests/legacy/unit/filtres/abs_url.html | 16 ------
 5 files changed, 52 insertions(+), 19 deletions(-)
 create mode 100644 ecrire/tests/Urls/AbsUrlTest.php
 rename ecrire/tests/{Utils => Urls}/ParametreUrlTest.php (99%)
 rename ecrire/tests/{Utils => Urls}/TesterUrlAbsolueTest.php (97%)
 rename ecrire/tests/{Utils => Urls}/UrlDeTest.php (98%)
 delete mode 100644 ecrire/tests/legacy/unit/filtres/abs_url.html

diff --git a/ecrire/tests/Urls/AbsUrlTest.php b/ecrire/tests/Urls/AbsUrlTest.php
new file mode 100644
index 0000000000..9e8d3ac5f1
--- /dev/null
+++ b/ecrire/tests/Urls/AbsUrlTest.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * Test unitaire de la fonction tester_url_absolue du fichier ./inc/utils.php
+ */
+
+namespace Spip\Test\Urls;
+
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\TestCase;
+use Spip\Test\SquelettesTestCase;
+
+class AbsUrlTest extends SquelettesTestCase
+{
+	public static function setUpBeforeClass(): void {
+		find_in_path('./inc/utils.php', '', true);
+	}
+
+	/**
+	 * Le filtre |abs_url doit modifier les liens a@href et img@src
+	 * a l'interieur d'un texte, et modifier les simples chaines de caracteres
+	 * quand elles proviennent de # URL_ARTICLE, mais pas ailleurs (# TITRE par ex)
+	 */
+	public function testAbsUrl() {
+		$this->assertOkCode(<<<SPIP
+		<BOUCLE_a(ARTICLES){texte=='<(a|img) '}{0,1}>
+		[(#URL_ARTICLE
+			|abs_url
+			|=={#URL_ARTICLE}
+			|?{#VAL{'erreur sur #URL_ARTICLE 1 :'}
+				|concat{#URL_ARTICLE|abs_url}
+				|concat{'=',#URL_ARTICLE}})]
+		[(#URL_ARTICLE
+			|abs_url{#URL_SITE_SPIP/}
+			|=={#URL_SITE_SPIP|concat{/}|suivre_lien{#URL_ARTICLE}}
+			|?{'',#VAL{'erreur sur #URL_ARTICLE 2 :'}
+				|concat{#URL_ARTICLE|abs_url{#URL_SITE_SPIP/}
+				|concat{'!=',#URL_SITE_SPIP,/,#URL_ARTICLE}}})]
+		[(#TITRE|abs_url|=={#TITRE}|?{'','erreur sur #TITRE'})]
+		[(#TITRE|abs_url|=={#TEXTE}|?{'erreur sur #TEXTE'})]
+		</BOUCLE_a>
+		OK
+		<//B_a>
+		SPIP);
+	}
+
+}
diff --git a/ecrire/tests/Utils/ParametreUrlTest.php b/ecrire/tests/Urls/ParametreUrlTest.php
similarity index 99%
rename from ecrire/tests/Utils/ParametreUrlTest.php
rename to ecrire/tests/Urls/ParametreUrlTest.php
index 15399d1a9d..36bd0534bc 100644
--- a/ecrire/tests/Utils/ParametreUrlTest.php
+++ b/ecrire/tests/Urls/ParametreUrlTest.php
@@ -6,7 +6,7 @@ declare(strict_types=1);
  * Test unitaire de la fonction parametre_url du fichier ./inc/utils.php
  */
 
-namespace Spip\Test\Utils;
+namespace Spip\Test\Urls;
 
 use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
diff --git a/ecrire/tests/Utils/TesterUrlAbsolueTest.php b/ecrire/tests/Urls/TesterUrlAbsolueTest.php
similarity index 97%
rename from ecrire/tests/Utils/TesterUrlAbsolueTest.php
rename to ecrire/tests/Urls/TesterUrlAbsolueTest.php
index 6092525851..7eab31428c 100644
--- a/ecrire/tests/Utils/TesterUrlAbsolueTest.php
+++ b/ecrire/tests/Urls/TesterUrlAbsolueTest.php
@@ -6,7 +6,7 @@ declare(strict_types=1);
  * Test unitaire de la fonction tester_url_absolue du fichier ./inc/utils.php
  */
 
-namespace Spip\Test\Utils;
+namespace Spip\Test\Urls;
 
 use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
diff --git a/ecrire/tests/Utils/UrlDeTest.php b/ecrire/tests/Urls/UrlDeTest.php
similarity index 98%
rename from ecrire/tests/Utils/UrlDeTest.php
rename to ecrire/tests/Urls/UrlDeTest.php
index 942cab38da..ca8fe21b98 100644
--- a/ecrire/tests/Utils/UrlDeTest.php
+++ b/ecrire/tests/Urls/UrlDeTest.php
@@ -6,7 +6,7 @@ declare(strict_types=1);
  * Test unitaire de la fonction url_de_ du fichier ./inc/utils.php
  */
 
-namespace Spip\Test\Utils;
+namespace Spip\Test\Urls;
 
 use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\TestCase;
diff --git a/ecrire/tests/legacy/unit/filtres/abs_url.html b/ecrire/tests/legacy/unit/filtres/abs_url.html
deleted file mode 100644
index 61f12efba1..0000000000
--- a/ecrire/tests/legacy/unit/filtres/abs_url.html
+++ /dev/null
@@ -1,16 +0,0 @@
-[(#REM)
-
-Le filtre |abs_url doit modifier les liens a@href et img@src
-a l'interieur d'un texte, et modifier les simples chaines de caracteres
-quand elles proviennent de # URL_ARTICLE, mais pas ailleurs (# TITRE par ex)
-
-]
-<BOUCLE_a(ARTICLES){texte=='<(a|img) '}{0,1}>[
-(#URL_ARTICLE|abs_url|=={#URL_ARTICLE}|?{#VAL{'erreur sur #URL_ARTICLE 1 :'}|concat{#URL_ARTICLE|abs_url,'=',#URL_ARTICLE}})][
-(#URL_ARTICLE|abs_url{#URL_SITE_SPIP/}|=={#URL_SITE_SPIP|concat{/}|suivre_lien{#URL_ARTICLE}}|?{'',#VAL{'erreur sur #URL_ARTICLE 2 :'}|concat{#URL_ARTICLE|abs_url{#URL_SITE_SPIP/},'!=',#URL_SITE_SPIP|concat{/}|concat{#URL_ARTICLE}}})][
-(#TITRE|abs_url|=={#TITRE}|?{'','erreur sur #TITRE'})][
-(#TITRE|abs_url|=={#TEXTE}|?{'erreur sur #TEXTE'})]</BOUCLE_a>
-
-OK
-
-<//B_a>
\ No newline at end of file
-- 
GitLab