Initial import from aternosorg/codex-minecraft
Some checks failed
Tests / Run tests on PHP v8.4 (push) Failing after 32s
Tests / Run tests on PHP v8.5 (push) Failing after 2s

This commit is contained in:
2026-04-30 09:56:57 -05:00
commit 7c7fe5ca80
94 changed files with 7003 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
<?php
namespace Aternos\Codex\Test\Src\Log;
use Aternos\Codex\Detective\DetectorInterface;
use Aternos\Codex\Detective\SinglePatternDetector;
use Aternos\Codex\Log\DetectableLogInterface;
use Aternos\Codex\Log\Log;
/**
* Class TestAlwaysDetectableLog
*/
class TestAlwaysDetectableLog extends Log implements DetectableLogInterface
{
/**
* Get an array of detectors matching DetectorInterface
*
* @return DetectorInterface[]
*/
public static function getDetectors(): array
{
return [(new SinglePatternDetector())->setPattern('/information/')];
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace Aternos\Codex\Test\Src\Log;
use Aternos\Codex\Detective\DetectorInterface;
use Aternos\Codex\Detective\LinePatternDetector;
use Aternos\Codex\Log\DetectableLogInterface;
use Aternos\Codex\Log\Log;
/**
* Class TestLessDetectableLog
*/
class TestLessDetectableLog extends Log implements DetectableLogInterface
{
/**
* Get an array of detectors matching DetectorInterface
*
* @return DetectorInterface[]
*/
public static function getDetectors(): array
{
return [(new LinePatternDetector())->setPattern('/information/')];
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace Aternos\Codex\Test\Src\Log;
use Aternos\Codex\Detective\DetectorInterface;
use Aternos\Codex\Detective\LinePatternDetector;
use Aternos\Codex\Log\DetectableLogInterface;
use Aternos\Codex\Log\Log;
/**
* Class TestMoreDetectableLog
*/
class TestMoreDetectableLog extends Log implements DetectableLogInterface
{
/**
* Get an array of detectors matching DetectorInterface
*
* @return DetectorInterface[]
*/
public static function getDetectors(): array
{
return [(new LinePatternDetector())->setPattern('/This/')];
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace Aternos\Codex\Test\Src\Log;
use Aternos\Codex\Detective\DetectorInterface;
use Aternos\Codex\Detective\SinglePatternDetector;
use Aternos\Codex\Log\DetectableLogInterface;
use Aternos\Codex\Log\Log;
/**
* Class TestNeverDetectableLog
*/
class TestNeverDetectableLog extends Log implements DetectableLogInterface
{
/**
* Get an array of detectors matching DetectorInterface
*
* @return DetectorInterface[]
*/
public static function getDetectors(): array
{
return [(new SinglePatternDetector())->setPattern('/missing/')];
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace Aternos\Codex\Test\Src\Log;
use Aternos\Codex\Analyser\PatternAnalyser;
use Aternos\Codex\Log\AnalysableLog;
use Aternos\Codex\Parser\PatternParser;
use Aternos\Codex\Test\Src\Analysis\TestPatternInformation;
use Aternos\Codex\Test\Src\Analysis\TestPatternProblem;
/**
* Class TestLog
*/
class TestPatternLog extends AnalysableLog
{
/**
* Get the default parser
*
* @return PatternParser
*/
public static function getDefaultParser(): PatternParser
{
return (new PatternParser())
->setPattern('/(\[([^\]]+)\] \[[^\/]+\/([^\]]+)\]).*/')
->setMatches([PatternParser::PREFIX, PatternParser::TIME, PatternParser::LEVEL])
->setTimeFormat('d.m.Y H:i:s');
}
/**
* Get the default analyser
*
* @return PatternAnalyser
*/
public static function getDefaultAnalyser(): PatternAnalyser
{
return (new PatternAnalyser())
->addPossibleInsightClass(TestPatternProblem::class)
->addPossibleInsightClass(TestPatternInformation::class);
}
}