Support BCE / CE times
This commit is contained in:
		| @@ -66,6 +66,8 @@ final class NodaTimeSplitter { | |||||||
|         // To clean |         // To clean | ||||||
|         "v.Chr." => "v. Chr.", |         "v.Chr." => "v. Chr.", | ||||||
|         "v. Chr" => "v. Chr.", |         "v. Chr" => "v. Chr.", | ||||||
|  |         "BCE" => "v. Chr.", | ||||||
|  |         "CE" => "", | ||||||
|         "vor Christus" => "v. Chr.", |         "vor Christus" => "v. Chr.", | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
| @@ -399,7 +401,7 @@ final class NodaTimeSplitter { | |||||||
|  |  | ||||||
|         $datum = self::clean_input($datum); |         $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))) { |             if ($output = self::attempt_splitting(\substr($datum, 0, -8))) { | ||||||
|                 $start = \strval(-1 * \intval($output[1])); |                 $start = \strval(-1 * \intval($output[1])); | ||||||
|                 $end = \strval(-1 * \intval($output[0])); |                 $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. |      * Test to check whether the HTML page is correctly generated. | ||||||
|      * |      * | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user