feat: Divi-Freigabe je Fähigkeit – CompatibilityMatrix aus Problemen mit Art und Fähigkeiten (ManifestCheck::problems), automatische Freigabe unveränderter Fähigkeiten (Filter lit_mcp_divi_auto_release), Mirror-Probleme im Transient (Format 2), ReleaseStatus trägt die Matrix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
710444e88d
commit
c4efeb3ba4
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace LIT\MCP\Tests\Support;
|
||||
|
||||
use LIT\MCP\Integrations\Divi\Release\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\Integrations\Divi\Release\ReleaseStatus;
|
||||
|
||||
/** Release statuses for tests: every feature released except the named ones. */
|
||||
final class ReleaseMatrices
|
||||
{
|
||||
/** @param list<DiviFeature> $locked */
|
||||
public static function matrix(array $locked, ReleaseState $state = ReleaseState::Untested): CompatibilityMatrix
|
||||
{
|
||||
$features = [];
|
||||
foreach (DiviFeature::cases() as $feature) {
|
||||
$features[$feature->value] = in_array($feature, $locked, true)
|
||||
? new FeatureStatus(
|
||||
$feature,
|
||||
$state,
|
||||
$state === ReleaseState::Incompatible ? ['Seiten: et_x() – Signatur geändert'] : []
|
||||
)
|
||||
: new FeatureStatus($feature, ReleaseState::Released, [], ReleaseStatus::SOURCE_CODE);
|
||||
}
|
||||
|
||||
return new CompatibilityMatrix($features);
|
||||
}
|
||||
|
||||
/** @param list<DiviFeature> $locked */
|
||||
public static function status(
|
||||
array $locked,
|
||||
ReleaseState $state = ReleaseState::Untested,
|
||||
string $version = '5.3.0'
|
||||
): ReleaseStatus {
|
||||
return ReleaseStatus::of($version, self::matrix($locked, $state));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user