refactor(compat): Prüfbausteine nach src/Compatibility, Matrix und ManifestCheck generisch

Requirement, Call, ConstantRequirement, Mirror, Problem, FeatureStatus, CompatibilityMatrix, Manifest, ManifestCheck sowie Fingerprints und LineDiff liegen jetzt im divi-freien Kern. Neu: GlobalRequirement, CompatibilityMatrix::fromProblems(), ManifestCheck-Option signatures, DiviManifestCheck::create() und DiviAreas. Divi-Verhalten unverändert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jan-Niclas Loosen
2026-11-06 12:03:30 +01:00
co-authored by Claude Opus 5.5
parent 9beb55e228
commit b511ef6348
92 changed files with 1185 additions and 636 deletions
@@ -4,10 +4,10 @@ declare(strict_types=1);
namespace LIT\MCP\Tests\Unit\Integrations\Divi\Release;
use LIT\MCP\Integrations\Divi\Release\Call;
use LIT\MCP\Compatibility\Call;
use LIT\MCP\Compatibility\SignatureFingerprint;
use LIT\MCP\Integrations\Divi\Release\DiviAdapters;
use LIT\MCP\Integrations\Divi\Release\DiviReference;
use LIT\MCP\Integrations\Divi\Release\SignatureFingerprint;
use PHPUnit\Framework\TestCase;
use RuntimeException;
@@ -19,7 +19,7 @@ final class DiviReferenceTest extends TestCase
$signatureKeys = [];
foreach (DiviAdapters::manifests() as $manifest) {
foreach ($manifest->calls as $call) {
$signatureKeys[] = 'sig:' . ltrim($call->symbol, '\\');
$signatureKeys[] = $call->signatureKey();
}
}
$keys = array_values(array_unique(array_merge($mirrorIds, $signatureKeys)));
@@ -40,10 +40,10 @@ final class DiviReferenceTest extends TestCase
foreach (DiviAdapters::mirrors() as $mirror) {
self::assertStringStartsNotWith(DiviReference::SIGNATURE_PREFIX, $mirror->id);
}
self::assertSame('sig:et_pb_is_allowed', DiviReference::signatureKey(new Call('et_pb_is_allowed', 1)));
self::assertSame('sig:et_pb_is_allowed', (new Call('et_pb_is_allowed', 1))->signatureKey());
self::assertSame(
'sig:ET_Core_PageResource::remove_static_resources',
DiviReference::signatureKey(new Call('\\ET_Core_PageResource::remove_static_resources', 3))
(new Call('\\ET_Core_PageResource::remove_static_resources', 3))->signatureKey()
);
}