LearnNewsExamplesServices
Frontmatter
id7259
titleVdomHelper incorrectly moves className into attributes
stateClosed
labels
bug
assigneestobiu
createdAtSep 26, 2025, 3:13 PM
updatedAtSep 26, 2025, 3:40 PM
githubUrlhttps://github.com/neomjs/neo/issues/7259
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtSep 26, 2025, 3:40 PM

VdomHelper incorrectly moves className into attributes

Closed v11.0.0 bug
tobiu
tobiu commented on Sep 26, 2025, 3:13 PM

When running unit tests with useDomApiRenderer: false, the VdomHelper.update() method incorrectly moves the className property of a vdom object into the attributes object of the resulting vnode.

According to the Neo.vdom.VNode class definition, className should be a top-level property on the vnode and should not be part of the attributes object.

This was discovered while converting the VdomHelper Siesta test to Playwright. The Playwright test test/playwright/unit/VdomHelper.spec.mjs currently has assertions that are adjusted to expect this buggy behavior to allow the test suite to pass.

Acceptance Criteria

  • Investigate VdomHelper.update() and identify why className is being misplaced when useDomApiRenderer is false.
  • Correct the logic to ensure className is handled as a top-level vnode property.
  • Update the assertions in test/playwright/unit/VdomHelper.spec.mjs to reflect the correct behavior.
tobiu assigned to @tobiu on Sep 26, 2025, 3:13 PM
tobiu added the bug label on Sep 26, 2025, 3:13 PM
tobiu
tobiu Sep 26, 2025, 3:40 PM

We can close this one. It was a Gemini hallucination, using className instead of cls inside the vdom definitions

tobiu closed this issue on Sep 26, 2025, 3:40 PM