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:
co-authored by
Claude Opus 5.5
parent
9beb55e228
commit
b511ef6348
@@ -4,11 +4,11 @@ declare(strict_types=1);
|
||||
|
||||
namespace LIT\MCP\Tests\Support;
|
||||
|
||||
use LIT\MCP\Integrations\Divi\Release\CompatibilityMatrix;
|
||||
use LIT\MCP\Compatibility\ReleaseState;
|
||||
use LIT\MCP\Compatibility\CompatibilityMatrix;
|
||||
use LIT\MCP\Integrations\Divi\Release\DiviFeature;
|
||||
use LIT\MCP\Integrations\Divi\Release\FeatureStatus;
|
||||
use LIT\MCP\Compatibility\FeatureStatus;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseGate;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseState;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseStatus;
|
||||
|
||||
/** A release status in which single Divi capabilities are locked – for guard and tool tests. */
|
||||
@@ -37,7 +37,7 @@ final class DiviFeatureFixtures
|
||||
}
|
||||
}
|
||||
|
||||
$status = new ReleaseStatus($overall, $version, null, [], null, matrix: new CompatibilityMatrix($features));
|
||||
$status = new ReleaseStatus($overall, $version, null, [], null, matrix: new CompatibilityMatrix(DiviFeature::cases(), $features));
|
||||
ReleaseGate::useResolver(static fn (): ReleaseStatus => $status);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@ declare(strict_types=1);
|
||||
|
||||
namespace LIT\MCP\Tests\Support;
|
||||
|
||||
use LIT\MCP\Integrations\Divi\Release\CompatibilityMatrix;
|
||||
use LIT\MCP\Compatibility\ReleaseState;
|
||||
use LIT\MCP\Compatibility\CompatibilityMatrix;
|
||||
use LIT\MCP\Integrations\Divi\Release\DiviFeature;
|
||||
use LIT\MCP\Integrations\Divi\Release\FeatureStatus;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseState;
|
||||
use LIT\MCP\Compatibility\FeatureStatus;
|
||||
|
||||
/** Compatibility matrices for tests: every feature released, with single features replaced. */
|
||||
final class MatrixFixtures
|
||||
@@ -22,10 +22,10 @@ final class MatrixFixtures
|
||||
$features[$feature->value] = new FeatureStatus($feature, ReleaseState::Released, [], $source);
|
||||
}
|
||||
foreach ($replace as $status) {
|
||||
$features[$status->feature->value] = $status;
|
||||
$features[$status->feature->id()] = $status;
|
||||
}
|
||||
|
||||
return new CompatibilityMatrix($features);
|
||||
return new CompatibilityMatrix(DiviFeature::cases(), $features);
|
||||
}
|
||||
|
||||
/** @param string ...$problems */
|
||||
|
||||
@@ -4,10 +4,10 @@ declare(strict_types=1);
|
||||
|
||||
namespace LIT\MCP\Tests\Support;
|
||||
|
||||
use LIT\MCP\Integrations\Divi\Release\CompatibilityMatrix;
|
||||
use LIT\MCP\Compatibility\ReleaseState;
|
||||
use LIT\MCP\Compatibility\CompatibilityMatrix;
|
||||
use LIT\MCP\Integrations\Divi\Release\DiviFeature;
|
||||
use LIT\MCP\Integrations\Divi\Release\FeatureStatus;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseState;
|
||||
use LIT\MCP\Compatibility\FeatureStatus;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseStatus;
|
||||
|
||||
/**
|
||||
@@ -30,7 +30,7 @@ final class ReleaseMatrices
|
||||
: new FeatureStatus($feature, ReleaseState::Released, [], ReleaseStatus::SOURCE_CODE);
|
||||
}
|
||||
|
||||
return new CompatibilityMatrix($features);
|
||||
return new CompatibilityMatrix(DiviFeature::cases(), $features);
|
||||
}
|
||||
|
||||
/** @param list<DiviFeature> $locked */
|
||||
@@ -52,7 +52,7 @@ final class ReleaseMatrices
|
||||
string $source = ReleaseStatus::SOURCE_CODE,
|
||||
?array $release = null
|
||||
): ReleaseStatus {
|
||||
return ReleaseStatus::of($version, CompatibilityMatrix::allReleased($source), $release);
|
||||
return ReleaseStatus::of($version, CompatibilityMatrix::allReleased(DiviFeature::cases(), $source), $release);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,6 +62,6 @@ final class ReleaseMatrices
|
||||
*/
|
||||
public static function uniform(ReleaseState $state, string $version = '5.3.0', array $problems = []): ReleaseStatus
|
||||
{
|
||||
return ReleaseStatus::of($version, CompatibilityMatrix::uniform($state, $problems));
|
||||
return ReleaseStatus::of($version, CompatibilityMatrix::uniform(DiviFeature::cases(), $state, $problems));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user