fix: Task 6 review round 2 - builder column classes, sum check only for exact rows, unknown path wins, column structure text (S43)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
@@ -527,6 +527,11 @@ final class AttrWriterTest extends TestCase
|
||||
self::assertSame([], $result['attrs'], $path);
|
||||
}
|
||||
|
||||
$column = ComposeFixture::attrWriter()->apply('divi/column', [], ['module.advanced.specialtyColumns' => null], 'attrs');
|
||||
self::assertStringNotContainsString('section_type', $column['errors']['attrs.module.advanced.specialtyColumns']);
|
||||
$section = ComposeFixture::attrWriter()->apply('divi/section', [], ['module.advanced.type' => null], 'attrs');
|
||||
self::assertStringContainsString('section_type', $section['errors']['attrs.module.advanced.type']);
|
||||
|
||||
$heading = ComposeFixture::attrWriter()->apply('divi/heading', [], ['module.meta.adminLabel' => ['desktop' => 'x']], 'attrs');
|
||||
self::assertSame([], $heading['errors'], 'only section type and specialty columns are structure');
|
||||
}
|
||||
|
||||
@@ -261,6 +261,20 @@ final class ComposerTest extends TestCase
|
||||
self::assertStringContainsString('label', $update['errors']['changes[0].attrs.module.meta.adminLabel']);
|
||||
}
|
||||
|
||||
/** Ruling S43: an unknown path wins over the overlap message on the same key. */
|
||||
public function testUnknownPathWinsOverOverlap(): void
|
||||
{
|
||||
$result = ComposeFixture::composer()->compose([[
|
||||
'type' => 'heading',
|
||||
'text' => 'x',
|
||||
'label' => 'B',
|
||||
'attrs' => ['module.meta' => ['desktop' => 'A']],
|
||||
]], Block::create('divi/column'), 'nodes');
|
||||
|
||||
self::assertSame(['module.meta'], $result['invalid_paths']);
|
||||
self::assertStringContainsString('unbekannter Attributpfad', $result['errors']['nodes[0].attrs.module.meta']);
|
||||
}
|
||||
|
||||
/** Ruling S41: the default heading level survives attrs on the same font value. */
|
||||
public function testDefaultHeadingLevelIsMergedIntoAttrs(): void
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user