fix tests

This commit is contained in:
Dennis Eichhorn 2023-10-23 16:30:58 +00:00
parent ab7b467c1d
commit bf9d528076
5 changed files with 56 additions and 24 deletions

View File

@ -43,28 +43,28 @@ class ICalParser
$event = [];
\preg_match('/UID:(.*?)\n/', $match[1], $uidMatch);
$event['uid'] = \DateTime::createFromFormat('Ymd\THis', $uidMatch[1] ?? '');
$event['uid'] = $uidMatch[1] ?? null;
\preg_match('/STATUS:(.*?)\n/', $match[1], $statusMatch);
$event['status'] = \DateTime::createFromFormat('Ymd\THis', $statusMatch[1] ?? '');
$event['status'] = $statusMatch[1] ?? null;
\preg_match('/DTSTART:(.*?)\n/', $match[1], $startMatch);
$event['start'] = \DateTime::createFromFormat('Ymd\THis', $startMatch[1] ?? '');
$event['start'] = $startMatch[1] ?? null;
\preg_match('/DTEND:(.*?)\n/', $match[1], $endMatch);
$event['end'] = \DateTime::createFromFormat('Ymd\THis', $endMatch[1] ?? '');
$event['end'] = $endMatch[1] ?? null;
\preg_match('/ORGANIZER:(.*?)\n/', $match[1], $organizerMatch);
$event['organizer'] = $organizerMatch[1] ?? '';
$event['organizer'] = $organizerMatch[1] ?? null;
\preg_match('/SUMMARY:(.*?)\n/', $match[1], $summaryMatch);
$event['summary'] = $summaryMatch[1] ?? '';
$event['summary'] = $summaryMatch[1] ?? null;
\preg_match('/DESCRIPTION:(.*?)\n/', $match[1], $descriptionMatch);
$event['description'] = $descriptionMatch[1] ?? '';
$event['description'] = $descriptionMatch[1] ?? null;
\preg_match('/LOCATION:(.*?)\n/', $match[1], $locationMatch);
$event['location'] = $locationMatch[1] ?? '';
$event['location'] = $locationMatch[1] ?? null;
\preg_match('/GEO:(.*?)\n/', $match[1], $geo);
$temp = \explode(';', $geo[1]);
@ -74,7 +74,7 @@ class ICalParser
];
\preg_match('/URL:(.*?)\n/', $match[1], $url);
$event['url'] = $url[1] ?? '';
$event['url'] = $url[1] ?? null;
// Check if this event is recurring
if (\preg_match('/RRULE:(.*?)\n/', $match[1], $rruleMatch)) {
@ -102,17 +102,27 @@ class ICalParser
$rrule = [];
\preg_match('/FREQ=(.*?);/', $rruleString, $freqMatch);
$rrule['freq'] = $freqMatch[1] ?? '';
$rrule['freq'] = $freqMatch[1] ?? null;
\preg_match('/INTERVAL=(.*?);/', $rruleString, $intervalMatch);
$rrule['interval'] = (int) ($intervalMatch[1] ?? 0);
$rrule['interval'] = $intervalMatch[1] ?? null;
\preg_match('/BYMONTH=(.*?);/', $rruleString, $monthMatch);
$rrule['bymonth'] = $monthMatch[1] ?? null;
\preg_match('/BYMONTHDAY=(.*?);/', $rruleString, $monthdayMatch);
$rrule['bymonthday'] = $monthdayMatch[1] ?? null;
if (\preg_match('/COUNT=(.*?);/', $rruleString, $countMatch)) {
$rrule['count'] = (int) ($countMatch[1] ?? 0);
} else {
$rrule['count'] = null;
}
if (\preg_match('/UNTIL=(.*?);/', $rruleString, $untilMatch)) {
$rrule['until'] = \DateTime::createFromFormat('Ymd\THis', $untilMatch[1] ?? '');
$rrule['until'] = $untilMatch[1] ?? null;
} else {
$rrule['until'] = null;
}
return $rrule;

View File

@ -35,6 +35,16 @@ final class BinarySearchTreeTest extends \PHPUnit\Framework\TestCase
$bst->insert(new Node('A', 'A'));
$bst->insert(new Node('U', 'U'));
$bst->insert(new Node('R', 'R'));
self::assertEquals(
[
'key' => 'D',
0 => ['key' => 'I'],
1 => ['key' => 'I'],
],
$bst->toArray()
);
$bst->delete($bst->search('I'));
$bst->insert(new Node('Z', 'Z'));

View File

@ -4,18 +4,18 @@
"status": "CONFIRMED",
"start": "20080212",
"end": "20080213",
"organizer": "",
"organizer": null,
"summary": "Abraham Lincoln",
"description": "Born February 12, 1809\nSixteenth President (1861-1865)\n\n\n\nhttp://AmericanHistoryCalendar.com",
"description": "Born February 12, 1809\nSixteenth President (1861-1865)\\n\\n\\n\\nhttp://AmericanHistoryCalendar.com",
"location": "Hodgenville, Kentucky",
"geo": {
"lat": -85.7399606,
"lon": 37.5739497
"lat": 37.5739497,
"lon": -85.7399606
},
"url": "http://americanhistorycalendar.com/peoplecalendar/1,328-abraham-lincoln",
"freq": "YEARLY",
"interval": "1",
"count": "",
"until": ""
"count": null,
"until": null
}
]

View File

@ -50,7 +50,10 @@ final class MarkdownTest extends \PHPUnit\Framework\TestCase
$parser = new Markdown();
$parser->setSafeMode(true);
self::assertTrue(\file_get_contents(__DIR__ . '/manualdata/xss_bad_url.html') === ($parsed = $parser->text(\file_get_contents(__DIR__ . '/manualdata/xss_bad_url.md'))), $parsed);
self::assertEquals(
\file_get_contents(__DIR__ . '/manualdata/xss_bad_url.html'),
$parser->text(\file_get_contents(__DIR__ . '/manualdata/xss_bad_url.md'))
);
}
public function testTablespan() : void
@ -61,7 +64,10 @@ final class MarkdownTest extends \PHPUnit\Framework\TestCase
]
]);
self::assertTrue(\file_get_contents(__DIR__ . '/manualdata/tablespan.html') === ($parsed = $parser->text(\file_get_contents(__DIR__ . '/manualdata/tablespan.md'))), $parsed);
self::assertEquals(
\file_get_contents(__DIR__ . '/manualdata/tablespan.html'),
$parser->text(\file_get_contents(__DIR__ . '/manualdata/tablespan.md'))
);
}
public function testMath() : void
@ -70,7 +76,10 @@ final class MarkdownTest extends \PHPUnit\Framework\TestCase
'math' => true
]);
self::assertTrue(\file_get_contents(__DIR__ . '/manualdata/katex.html') === ($parsed = $parser->text(\file_get_contents(__DIR__ . '/manualdata/katex.md'))), $parsed);
self::assertEquals(
\file_get_contents(__DIR__ . '/manualdata/katex.html'),
$parser->text(\file_get_contents(__DIR__ . '/manualdata/katex.md'))
);
}
public function testTOC() : void
@ -79,7 +88,10 @@ final class MarkdownTest extends \PHPUnit\Framework\TestCase
'toc' => true
]);
self::assertTrue(\file_get_contents(__DIR__ . '/manualdata/toc.html') === ($parsed = $parser->text(\file_get_contents(__DIR__ . '/manualdata/toc.md'))), $parsed);
self::assertTrue('' === $parser->contentsList());
self::assertEquals(
\file_get_contents(__DIR__ . '/manualdata/toc.html'),
$parser->text(\file_get_contents(__DIR__ . '/manualdata/toc.md'))
);
self::assertEquals('', $parser->contentsList());
}
}

File diff suppressed because one or more lines are too long