SuperCacheFeature, SuperCacheCompatibility (LockOnFailure, getestet 3.1.5, Version aus dem Plugin-Header) und SuperCacheIntegration ohne Tools. Der SuperCacheListener sammelt Änderungen über lit_mcp_changed und leert einmal am Request-Ende: einen Beitrag per wp_cache_post_edit, mehrere Beiträge oder seitenweite Änderungen per wp_cache_clear_cache (Multisite: eigener Blog). Komplett-Purges höchstens alle 30 s, mit genau einem Nachlauf per WP-Cron. Freigabe-Einträge leeren nichts. Uninstaller räumt Optionen, Transient und Cron-Hook ab; Reiter und lit-site-status zeigen das Profil automatisch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
858 B
PHP
27 lines
858 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace LIT\MCP\Tests\Unit\Integrations\SuperCache;
|
|
|
|
use LIT\MCP\Compatibility\Capability;
|
|
use LIT\MCP\Integrations\SuperCache\SuperCacheFeature;
|
|
use LIT\MCP\Tests\Unit\TestCase;
|
|
|
|
final class SuperCacheFeatureTest extends TestCase
|
|
{
|
|
public function testEveryFeatureIsAWritingCapabilityWithAPrefixedId(): void
|
|
{
|
|
foreach (SuperCacheFeature::cases() as $feature) {
|
|
self::assertInstanceOf(Capability::class, $feature);
|
|
self::assertSame($feature->value, $feature->id());
|
|
self::assertNotSame('', $feature->label());
|
|
self::assertTrue($feature->isWrite());
|
|
}
|
|
self::assertSame(
|
|
['wpsc-purge-post', 'wpsc-purge-all'],
|
|
array_map(static fn (SuperCacheFeature $f): string => $f->id(), SuperCacheFeature::cases())
|
|
);
|
|
}
|
|
}
|