fix: DesignArea mit restore() fürs Zurückschreiben und differences() für bereinigte Werte
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
60c31f9697
commit
fc8ffeba9e
@@ -43,4 +43,32 @@ final class PresetAreaTest extends TestCase
|
||||
self::assertFalse($area->verify($expected, $missing));
|
||||
self::assertFalse($area->verify($expected, $otherDefault));
|
||||
}
|
||||
|
||||
/** Final review I-3a: a snapshot is written back with full-replace semantics. */
|
||||
public function testRestoreReplacesTheWholeInventory(): void
|
||||
{
|
||||
$writer = Mockery::mock(DesignSystemWriter::class);
|
||||
$stored = PresetBookTest::stored();
|
||||
$writer->expects('savePresets')->with(PresetBook::fromDivi($stored)->toRest(), true)->andReturn($stored);
|
||||
|
||||
self::assertSame(PresetBook::fromDivi($stored)->data(), (new PresetArea($writer))->restore($stored));
|
||||
}
|
||||
|
||||
/** Final review I-3b: values Divi changed while saving, by preset name; structure is verify()'s job. */
|
||||
public function testDifferencesNameThePresetsDiviSanitized(): void
|
||||
{
|
||||
$area = new PresetArea(Mockery::mock(DesignSystemWriter::class));
|
||||
$expected = PresetBookTest::stored();
|
||||
$sanitized = $expected;
|
||||
$sanitized['module']['divi/button']['items']['aaaaaaaaaa']['attrs'] = ['button' => ['x' => 'bereinigt']];
|
||||
$missing = $expected;
|
||||
unset($missing['module']['divi/button']['items']['bbbbbbbbbb']);
|
||||
|
||||
self::assertSame([], $area->differences($expected, $expected));
|
||||
self::assertSame([], $area->differences($expected, $missing));
|
||||
self::assertSame(
|
||||
['Divi hat die Einstellungen von Preset „CTA primär“ beim Speichern bereinigt.'],
|
||||
$area->differences($expected, $sanitized)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user