"""gitea:Adriano/TieMeasureFlow#96 - l'immagine del task visione sta in fit, senza scorrimento. Controllo sulle classi del template: pannello overflow-hidden, img/canvas object-contain sovrapposti, nessun h-auto sull'immagine (era la causa dello scorrimento). """ from pathlib import Path TEMPLATE = Path(__file__).resolve().parents[1] / "templates" / "measure" / "task_execute.html" def _panel(): src = TEMPLATE.read_text(encoding="utf-8") start = src.rindex("' dentro le virgolette (es. "=>") non lo chiudono. pos = panel.index(marker) i = panel.rindex("<", 0, pos) quote = None for j in range(i, len(panel)): c = panel[j] if quote: quote = None if c == quote else quote elif c in "\"'": quote = c elif c == ">": return panel[i:j + 1] raise AssertionError(marker) def test_panel_does_not_scroll(): tag = _tag_with(_panel(), 'x-data="visionExecute()"') assert "overflow-hidden" in tag and "min-h-0" in tag assert "overflow-auto" not in tag def test_image_is_object_contain_without_h_auto(): panel = _panel() img = _tag_with(panel, 'x-ref="img"') assert "object-contain" in img assert "h-auto" not in img canvas = _tag_with(panel, 'x-ref="overlay"') assert "object-contain" in canvas # stesso fit dell'img: overlay allineato def test_image_box_and_outcome_column_can_shrink(): panel = _panel() box = _tag_with(panel, 'x-show="shownImage"') assert "flex-1" in box and "min-h-0" in box outcome = _tag_with(panel, 'x-show="result">') assert "overflow-y-auto" in outcome and "min-h-0" in outcome