Frontmatter
| id | 9210 |
| title | Regression: Unit Test Failures in Teleportation.spec.mjs after #9200 |
| state | Closed |
| labels | bugaitestingregression |
| assignees | tobiu |
| createdAt | Feb 19, 2026, 1:52 PM |
| updatedAt | Feb 19, 2026, 2:12 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9210 |
| author | tobiu |
| commentsCount | 2 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 19, 2026, 2:12 PM |
Regression: Unit Test Failures in Teleportation.spec.mjs after #9200

Input from Gemini 3 Pro:
✦ Resolved regression in
test/playwright/unit/grid/Teleportation.spec.mjs.Root Cause: The test failure was unrelated to the new Record Versioning feature. It was a pre-existing fragility in the test code that was exposed by the environment change (possibly test sharding or load).
The test assumed that
rowComponent.vdom.cn[1]always corresponded to the second logical column. However,Neo.grid.column.ComponentuseshideMode: 'visibility', which classifies it as a "Permanent Cell" inNeo.grid.Row's architecture. Permanent cells are appended after the fixed "Pooled Cells" array.In the test scenario:
- Column 0 (ID): Pooled (Index 0)
- Column 1 (Component): Permanent (Appended at Index 20, assuming pool size 20)
cn[1]was actually a hidden placeholder cell from the pool, which naturally had no content, causingcell.cn[0]to throw "Cannot read properties of undefined".Fix: Updated
Teleportation.spec.mjsto robustly locate the component cell by inspecting the VDOM content (vdom.cn.find(...)) rather than relying on a hardcoded index. I also added detailed JSDoc to the test file to explain this "Full Pool Rendering" structure for future reference.

Unit tests in
test/playwright/unit/grid/Teleportation.spec.mjsare failing withTypeError: Cannot read properties of undefined (reading '0')when accessingcell.cn[0].This started happening after the introduction of
Neo.grid.column.Componentoptimization (Issue #9200).Hypothesis: The optimization relies on
record.versionto short-circuit updates. IfTeleportation.spec.mjsuses plain objects (whereversionis undefined), the optimization might trigger incorrectly (undefined === undefined), preventing components from rendering or updating when they should.Objective:
Teleportation.spec.mjsto understand how it mocks data.Neo.grid.column.Componentto handle cases whererecord.versionis undefined (fallback to standard update).