Acquisizione: visore zoom, adatta() rinominata adattaVisore (collideva con quella dei parametri camera)

Aggiunto test che vieta funzioni dichiarate due volte nello script della pagina.

Refs #111

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 10:55:09 +01:00
parent 96aca975d0
commit c70d29d6d7
2 changed files with 9 additions and 2 deletions
+2 -2
View File
@@ -569,7 +569,7 @@ function zoomBy(v, f) {
applica(v); applica(v);
if (zoomata(v)) { p.scrollLeft = cx * z - p.clientWidth / 2; p.scrollTop = cy * z - p.clientHeight / 2; } if (zoomata(v)) { p.scrollLeft = cx * z - p.clientWidth / 2; p.scrollTop = cy * z - p.clientHeight / 2; }
} }
function adatta(v) { function adattaVisore(v) { // #111: nome distinto da adatta(d, v) dei parametri camera
v.adatta = true; v.adatta = true;
v.z = 0; v.z = 0;
applica(v); applica(v);
@@ -604,7 +604,7 @@ function creaVisore(chiave, suf, idCornice, idImg) {
V[chiave] = v; V[chiave] = v;
$("zoomMeno" + suf).onclick = function () { zoomBy(v, 1 / PASSO); }; $("zoomMeno" + suf).onclick = function () { zoomBy(v, 1 / PASSO); };
$("zoomPiu" + suf).onclick = function () { zoomBy(v, PASSO); }; $("zoomPiu" + suf).onclick = function () { zoomBy(v, PASSO); };
$("zoomAdatta" + suf).onclick = function () { adatta(v); }; $("zoomAdatta" + suf).onclick = function () { adattaVisore(v); };
// #111: Ctrl+rotella = zoom; senza Ctrl la rotella scorre la pagina // #111: Ctrl+rotella = zoom; senza Ctrl la rotella scorre la pagina
v.palco.addEventListener("wheel", function (ev) { v.palco.addEventListener("wheel", function (ev) {
if (!ev.ctrlKey) return; if (!ev.ctrlKey) return;
@@ -71,3 +71,10 @@ def test_zoom_visori(): # #111
# la barra e' sorella del palco che scorre (non dentro): resta ferma durante lo scorrimento # la barra e' sorella del palco che scorre (non dentro): resta ferma durante lo scorrimento
assert PAGINA.count('<div class="visore"') == 3 assert PAGINA.count('<div class="visore"') == 3
assert PAGINA.count('<div class="barraZoom">') == 3 assert PAGINA.count('<div class="barraZoom">') == 3
def test_nessuna_funzione_dichiarata_due_volte(): # #111: in JS vince l'ultima dichiarazione, in silenzio
script = re.search(r"<script>(.*?)</script>", PAGINA, re.S).group(1)
nomi = re.findall(r"function\s+([A-Za-z0-9_$]+)\s*\(", script)
doppi = sorted({n for n in nomi if nomi.count(n) > 1})
assert not doppi, "funzioni dichiarate piu' volte: " + ", ".join(doppi)