diff --git a/src/Log/ProjectZomboid/ProjectZomboidBurdJournalsLog.php b/src/Log/ProjectZomboid/ProjectZomboidBurdJournalsLog.php new file mode 100644 index 0000000..9f039c3 --- /dev/null +++ b/src/Log/ProjectZomboid/ProjectZomboidBurdJournalsLog.php @@ -0,0 +1,44 @@ +setPattern('/_BurdJournals\.txt$/') + ->setWeight(0.95), + (new WeightedSinglePatternDetector()) + ->setPattern('/\[BurdJournals\]/') + ->setWeight(0.95), + ]; + } + + public function getTitle(): string + { + return "Project Zomboid BurdJournals Mod Log"; + } +} diff --git a/src/Pattern/ProjectZomboid/BurdJournalsPattern.php b/src/Pattern/ProjectZomboid/BurdJournalsPattern.php new file mode 100644 index 0000000..6c556b1 --- /dev/null +++ b/src/Pattern/ProjectZomboid/BurdJournalsPattern.php @@ -0,0 +1,18 @@ +setLogFile(new PathLogFile($this->fixturePath())); + $log->parse(); + + $this->assertCount(5, $log->getEntries()); + } + + public function testLevelAndPrefixAreParsed(): void + { + $log = (new ProjectZomboidBurdJournalsLog())->setLogFile(new PathLogFile($this->fixturePath())); + $log->parse(); + + $first = $log->getEntries()[0]; + $this->assertSame(Level::WARNING, $first->getLevel()); + $this->assertSame('BurdJournals', $first->getPrefix()); + } + + public function testDetectiveDispatchesByContent(): void + { + $detective = (new Detective()) + ->setLogFile(new PathLogFile($this->fixturePath())) + ->addPossibleLogClass(ProjectZomboidBurdJournalsLog::class); + + $this->assertInstanceOf(ProjectZomboidBurdJournalsLog::class, $detective->detect()); + } +}