Support BCE / CE times
This commit is contained in:
		| @@ -66,6 +66,8 @@ final class NodaTimeSplitter { | ||||
|         // To clean | ||||
|         "v.Chr." => "v. Chr.", | ||||
|         "v. Chr" => "v. Chr.", | ||||
|         "BCE" => "v. Chr.", | ||||
|         "CE" => "", | ||||
|         "vor Christus" => "v. Chr.", | ||||
|     ]; | ||||
|  | ||||
| @@ -399,7 +401,7 @@ final class NodaTimeSplitter { | ||||
|  | ||||
|         $datum = self::clean_input($datum); | ||||
|  | ||||
|         if (\preg_match("/\ v\.\ Chr\.$/", $datum)) { | ||||
|         if (\str_ends_with($datum, ' v. Chr.')) { | ||||
|             if ($output = self::attempt_splitting(\substr($datum, 0, -8))) { | ||||
|                 $start = \strval(-1 * \intval($output[1])); | ||||
|                 $end = \strval(-1 * \intval($output[0])); | ||||
|   | ||||
| @@ -428,6 +428,42 @@ final class NodaTimeSplitterTest extends TestCase { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Test to check whether the HTML page is correctly generated. | ||||
|      * | ||||
|      * @author Joshua Ramon Enslin <joshua@museum-digital.de> | ||||
|      * @group  ValidOutput | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function testSplitSimpleDatesEnglish():void { | ||||
|  | ||||
|         $output = NodaTimeSplitter::attempt_splitting("1925 BCE"); | ||||
|         self::assertEquals($output, [ | ||||
|             0 => "-1925", | ||||
|             1 => "-1925", | ||||
|             2 => "00", | ||||
|             3 => "00", | ||||
|             4 => "-", | ||||
|             5 => "", | ||||
|         ]); | ||||
|         self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "1925 v. Chr."); | ||||
|         self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1925); | ||||
|  | ||||
|         $output = NodaTimeSplitter::attempt_splitting("1925 CE"); | ||||
|         self::assertEquals($output, [ | ||||
|             0 => "1925", | ||||
|             1 => "1925", | ||||
|             2 => "00", | ||||
|             3 => "00", | ||||
|             4 => "+", | ||||
|             5 => "", | ||||
|         ]); | ||||
|         self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "1925"); | ||||
|         self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1925); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Test to check whether the HTML page is correctly generated. | ||||
|      * | ||||
|   | ||||
		Reference in New Issue
	
	Block a user