LearnNewsExamplesServices
Frontmatter
id8568
titletest: Verify Object-based Container Items and Deep Merging
stateClosed
labels
enhancementaitesting
assigneestobiu
createdAtJan 12, 2026, 1:51 AM
updatedAtJan 12, 2026, 2:08 AM
githubUrlhttps://github.com/neomjs/neo/issues/8568
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 12, 2026, 2:08 AM

test: Verify Object-based Container Items and Deep Merging

Closed v11.20.0 enhancementaitesting
tobiu
tobiu commented on Jan 12, 2026, 1:51 AM

Create unit tests in test/playwright/unit/container/ItemsMerging.spec.mjs to verify:

  1. Object-based Items:

    • Defining items as an object with keys (references) and values (item configs).
    • Verifying they are converted to an array and references are preserved.
  2. Nested Merging:

    • Subclassing a container that uses object-based items.
    • Overriding the items config in the subclass using merge: 'deep'.
    • Verifying that:
      • New items are added.
      • Existing items (by key) are merged/overridden correctly.
      • Order is preserved or adjustable via weight.

This will validate the "Proxy Config Pattern" or any fix we implement for Neo.setupClass handling of reactive config descriptors.

tobiu added the enhancement label on Jan 12, 2026, 1:51 AM
tobiu added the ai label on Jan 12, 2026, 1:51 AM
tobiu added the testing label on Jan 12, 2026, 1:51 AM
tobiu
tobiu Jan 12, 2026, 2:08 AM

Input from Gemini 3 Pro:

✦ I have successfully verified the object-based container items and deep merging behavior with new unit tests.

Outcomes:

  • Created test/playwright/unit/container/ItemsMerging.spec.mjs.
  • Core Bug Found & Fixed: Identified and fixed a bug in Neo.setupClass where non-reactive config descriptors were not unwrapped in the static config (Fixed in #8569).
  • Confirmed that the "Proxy Config Pattern" (using a unique config like contentItems_ with merge: 'deep') allows subclasses to deeply merge item definitions.

I will now proceed with applying this pattern to the Portal containers.

tobiu assigned to @tobiu on Jan 12, 2026, 2:08 AM
tobiu closed this issue on Jan 12, 2026, 2:08 AM