Support BCE / CE times
This commit is contained in:
parent
9942c58b12
commit
37715bc3e8
|
@ -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.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue
Block a user