From cefe1233e392e6cceda9acbd10968b05c975a7fc Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Mon, 10 Jul 2023 15:08:35 +0200
Subject: [PATCH] tests: tests date_iso en phpunit

---
 tests/Filtre/Date/DateIsoTest.php      | 46 ++++++++++++++++++++++++++
 tests/legacy/unit/filtres/date_iso.php | 33 ------------------
 2 files changed, 46 insertions(+), 33 deletions(-)
 create mode 100644 tests/Filtre/Date/DateIsoTest.php
 delete mode 100644 tests/legacy/unit/filtres/date_iso.php

diff --git a/tests/Filtre/Date/DateIsoTest.php b/tests/Filtre/Date/DateIsoTest.php
new file mode 100644
index 000000000..c6ae9a8c9
--- /dev/null
+++ b/tests/Filtre/Date/DateIsoTest.php
@@ -0,0 +1,46 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * Test unitaire de la fonction date_ical du fichier inc/filtres.php
+ */
+
+namespace Spip\Test\Filtre\Date;
+
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\TestCase;
+
+class DateIsoTest extends TestCase
+{
+	public static function setUpBeforeClass(): void {
+		find_in_path('inc/filtres.php', '', true);
+	}
+
+	protected function setUp(): void {
+		date_default_timezone_set('UTC');
+	}
+
+	#[DataProvider('providerDateIso')]
+	public function testDateIso($expected, ...$args): void {
+		$actual = date_iso(...$args);
+		$this->assertSame($expected, $actual);
+	}
+
+	public static function providerDateIso(): array {
+		return [
+			'01-01-2010' => [
+				0 => gmdate('Y-m-d\TH:i:s\Z', mktime(2, 5, 30, 1, 1, 2010)),
+				1 => '2010-01-01 02:05:30',
+			],
+			'nc-01-2010' => [
+				0 => gmdate('Y-m-d\TH:i:s\Z', mktime(3, 6, 40, 1, 1, 2010)),
+				1 => '2010-01-00 03:06:40',
+			],
+			'nc-nc-2010' => [
+				0 => gmdate('Y-m-d\TH:i:s\Z', mktime(4, 7, 50, 1, 1, 2010)),
+				1 => '2010-00-00 04:07:50',
+			],
+		];
+	}
+}
diff --git a/tests/legacy/unit/filtres/date_iso.php b/tests/legacy/unit/filtres/date_iso.php
deleted file mode 100644
index f970a0dda..000000000
--- a/tests/legacy/unit/filtres/date_iso.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-$test = 'date_iso';
-
-$remonte = __DIR__ . '/';
-
-while (!is_file($remonte . 'test.inc')) {
-	$remonte .= '../';
-}
-
-require $remonte . 'test.inc';
-
-include_spip('inc/filtres');
-
-$essais['01-01-2010'] = [gmdate('Y-m-d\TH:i:s\Z', mktime(2, 5, 30, 1, 1, 2010)), '2010-01-01 02:05:30'];
-
-$essais['nc-01-2010'] = [gmdate('Y-m-d\TH:i:s\Z', mktime(3, 6, 40, 1, 1, 2010)), '2010-01-00 03:06:40'];
-
-$essais['nc-nc-2010'] = [gmdate('Y-m-d\TH:i:s\Z', mktime(4, 7, 50, 1, 1, 2010)), '2010-00-00 04:07:50'];
-
-// si le tableau $err est pas vide ca va pas
-
-$err = tester_fun('date_iso', $essais);
-
-// si le tableau $err est pas vide ca va pas
-
-if ($err) {
-	die('<dl>' . implode('', $err) . '</dl>');
-}
-
-echo 'OK';
-- 
GitLab