Skip to content

test(visualMap): cover vertical handle-label separation for close ranges - #21807

Open
CJstate wants to merge 1 commit into
apache:masterfrom
CJstate:test/visualmap-vertical-label-overlap
Open

CJstate wants to merge 1 commit into
apache:masterfrom
CJstate:test/visualmap-vertical-label-overlap

Conversation

@CJstate

@CJstate CJstate commented Oct 24, 2026

Copy link
Copy Markdown

Purpose

Adds a Jest unit test covering the vertical-orient handle-label separation on visualMap[type='continuous'] with calculable: true — the case reported in #21766 and discussed there as missing coverage ("The existing overlap cases in test/visualMap-continuous.html are horizontal only").

The push-apart behavior itself was implemented in #21586 and refined in 06cd2ea (post-6.1.0, currently only covered by horizontal visual cases). This PR locks it in with logic-level assertions that CI runs on every change.

What the test does

test/ut/spec/component/visualMap/continuousLabelOverlap.test.ts renders a vertical calculable continuous visualMap over a heatmap with three handle ranges:

  • [50, 50] — both handles at the same position (the exact reported case)
  • [49, 51] — handles one unit apart
  • [0, 100] — handles at opposite ends (control case: separation logic must not misfire)

For each range it asserts:

  1. Both handle labels exist (_shapes.handleLabels from the ContinuousView).
  2. Their bounding rects are vertically disjoint — after the push-apart, neither label's rect intersects the other's.
  3. Their y positions differ (the 6.1.0 bug stacked both labels at the exact same point).

The test reaches into the view via ecIns._componentsMap[vmModel.__viewId]._shapes.handleLabels, following the same pattern other UTs use for private view state.

How tested

  • npx jest --config test/ut/jest.config.cjs test/ut/spec/component/visualMap/continuousLabelOverlap.test.ts → 3 passed.
  • Full suite: npx jest --config test/ut/jest.config.cjs → 28 suites / 199 tests passed, no regressions.

Notes

No runtime code is touched — this is coverage-only, so it is safe to land regardless of release timing.

@echarts-bot

echarts-bot Bot commented Oct 24, 2026

Copy link
Copy Markdown

Thanks for your contribution!
The community will review it ASAP. In the meanwhile, please checkout the coding standard and Wiki about How to make a pull request.

Please DO NOT commit the files in dist, i18n, and ssr/client/dist folders in a non-release pull request. These folders are for release use only.

To reviewers: If this PR is going to be described in the changelog in the future release, please make sure this PR has one of the following labels: PR: doc ready, PR: awaiting doc, PR: doc unchanged

This message is shown because the PR description doesn't contain the document related template.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant