From 511304b6f2a95db062ea0cc58d5a5d6b886a47d1 Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Thu, 3 Nov 2022 16:02:10 +0100 Subject: [PATCH] Fix bug in setting names for months --- src/NodaTimeSplitter.php | 2 +- tests/NodaTimeSplitterTest.php | 40 ++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/NodaTimeSplitter.php b/src/NodaTimeSplitter.php index f1850d8..be754b5 100644 --- a/src/NodaTimeSplitter.php +++ b/src/NodaTimeSplitter.php @@ -266,7 +266,7 @@ final class NodaTimeSplitter { ); try { - return $prefix . $fmt->format(MD_STD::strtotime("{$moda[0]}-{$moda[2]}-10 01:01:01")) . $suffix; + return $prefix . $fmt->format(MD_STD::strtotime("{$moda[0]}-{$moda[2]}-15 01:01:01")) . $suffix; } catch (MDInvalidInputDate $e) { return ""; diff --git a/tests/NodaTimeSplitterTest.php b/tests/NodaTimeSplitterTest.php index e2d1a8a..372fd26 100644 --- a/tests/NodaTimeSplitterTest.php +++ b/tests/NodaTimeSplitterTest.php @@ -201,9 +201,49 @@ final class NodaTimeSplitterTest extends TestCase { 4 => "+", 5 => "", ]); + self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "Januar 1217"); self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1217); + $output = NodaTimeSplitter::attempt_splitting("Januar 1520"); + self::assertEquals($output, [ + 0 => "1520", + 1 => "1520", + 2 => "01", + 3 => "00", + 4 => "+", + 5 => "", + ]); + + self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "Januar 1520"); + self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1520); + + $output = NodaTimeSplitter::attempt_splitting("Januar 1001"); + self::assertEquals($output, [ + 0 => "1001", + 1 => "1001", + 2 => "01", + 3 => "00", + 4 => "+", + 5 => "", + ]); + + self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "Januar 1001"); + self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1001); + + $output = NodaTimeSplitter::attempt_splitting("Januar 2780"); + self::assertEquals($output, [ + 0 => "2780", + 1 => "2780", + 2 => "01", + 3 => "00", + 4 => "+", + 5 => "", + ]); + + self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "Januar 2780"); + self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 2780); + $output = NodaTimeSplitter::attempt_splitting("Nach 60er Jahre"); self::assertEquals($output, [ 0 => "1970",