Skip to content

Comments

test(regression): harden chart-cell and waterfall overlay coverage#42

Merged
tmustier merged 1 commit intomainfrom
test/regression-hardening-pass1
Feb 12, 2026
Merged

test(regression): harden chart-cell and waterfall overlay coverage#42
tmustier merged 1 commit intomainfrom
test/regression-hardening-pass1

Conversation

@tmustier
Copy link
Owner

Summary

Stabilization-oriented regression hardening for high-risk chart behaviors:

  1. Waterfall connector overlays (style/dash variants)
  2. Chart template copy application path (immediate replacement)
  3. Chart-cells grouped headers with sub styling
  4. Horizontal chart-cell manual data-label offsets with negative/long values

Changes

tests/test_chart_engine_smoke.py

  • Added _pptx_part(...) helper for direct PPTX part assertions.
  • Added _blank_auto_shape_count(...) helper to count connector-like blank auto-shapes.
  • Added _waterfall_overlay_spec(...) helper for connector style matrix runs.
  • Added test_build_chart_applies_chart_template_copy_immediately_when_saving(...)
    • verifies chart_template_copy: true is applied when save=True and defer_template_copy=False
    • asserts output chart1.xml and chart1.xml.rels match template parts exactly
  • Added test_build_chart_waterfall_connector_styles_change_overlay_segment_counts(...)
    • compares gap vs step
    • compares solid vs long_dash vs dot
    • asserts style changes produce expected relative segment counts

tests/test_chart_cells_golden.py

  • Added slide XML helper (_slide_xml) + shape token finder (_find_text_shape_with_tokens).
  • Added test_horizontal_chart_cells_keep_distinct_offsets_for_negative_and_long_values(...)
    • validates manual horizontal label offsets remain positive and non-collapsed under mixed sign/long values
  • Added test_grouped_chart_cells_render_sub_headers_on_new_line_with_body_color(...)
    • grouped chart-cell scenario with row-group headers containing sub
    • asserts:
      • grouped labels/connectors still render
      • sub appears on a new line (a:br)
      • main run remains bold
      • sub run is non-bold (b != 1)
      • sub run uses default body color (tx1)

Validation

  • .venv/bin/ruff check clean_slides tests
  • .venv/bin/pyright
  • .venv/bin/pytest -q
  • .venv/bin/pre-commit run --all-files

All pass locally.

@tmustier tmustier merged commit 0dcb83e into main Feb 12, 2026
7 checks passed
@tmustier tmustier deleted the test/regression-hardening-pass1 branch February 12, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant