Repository navigation
chore(widget): tests de la retención tras reordenar (#241) - #242
Conversation
egdev6
left a comment
There was a problem hiding this comment.
Muy buen trabajo, el cambio cumple todo lo que pide #241: las tres envoltorio y sus tests fuera, la retención como useRef<boolean> con sus cuatro usos equivalentes, y pointerInsideViewport con los bordes de ambos ejes cubiertos. Antes de aprobar, te pido dos ajustes pequeños:
- Conservar el motivo del borde. El JSDoc que se borra de
holdAfterReorderDropexplicaba por qué no se retiene al soltar fuera de la ventana: elmouseleaveya ocurrió y nada liberaría la retención después. Es justo la razón por la que<frente a<=importa, y hoy ya no aparece en ningún sitio. Basta con una línea en el JSDoc desrc/lib/pointer-viewport.tso junto alpointerupensrc/Widget.tsx. - Actualizar el documento ODD. En
odd/tasks/241-reorder-hold-tests.md, la estrategia de entrega dice «Dos commits», pero el PR tiene tres (el tercero registra la entrega).
Con eso lo apruebo. La etiqueta y la asignación las pongo yo.
3fbe2c1 to
a804fd7
Compare
|
Buenos dias, tardes o noches. Corregidos los puntos solicitados en el a804fd7. La rama esta rebasada sobre main asi que el pr ya no tiene conflicto |
egdev6
left a comment
There was a problem hiding this comment.
Gracias, @DonatoSilva. Los dos ajustes están resueltos en a804fd7: el motivo del borde vive ahora en el JSDoc de pointerInsideViewport, y el documento ODD declara los tres commits con sus hashes. La rama está sobre main actual y los cinco checks pasan. Aprobada.
Related issue / Issue relacionada
Issue: Closes #241
ODD:
odd/tasks/241-reorder-hold-tests.md— alcance aprobado por el mantenedor en la propia issue (status:approved,type:chore).Scope / Alcance
Los tests de la retención tras reordenar (#240) no fijaban comportamiento:
holdAfterReorderDrop,releaseOnStripLeaveycanPointerOpenenvolvían un booleano, y sus tests comprobaban la aridad o que el estado del panel no cambiara. La comprobación con bordes reales —si el puntero cayó dentro de la ventana al soltar un reordenado— estaba en línea enWidget.tsxy no tenía test.pointerInsideViewport(x, y, width, height)ensrc/lib/pointer-viewport.ts, con los bordes cubiertos en ambos ejes (0,-1,width - 1ywidth).useRef<boolean>enWidget.tsx, sin envoltorio; se borran las tres funciones y el aliasReorderHold.onPointerEnter); el foco y el clic no la consultan.REORDER_GUARD_MS), ni el cableado de foco y clic. Se mantiene el test deProviderGaugesobre el enrutado demouseenteraonPointerEnter.Dos commits: el refactor con sus tests y el ODD, y el inventario i18n regenerado (solo cambia la línea de hashes del árbol de
src/).Coordination / Coordinación
Contributor / Contribuidor: @DonatoSilva
Claim or agreement evidence / Evidencia de asignación o acuerdo: asignación del mantenedor en la issue (#241), con
status:approvedytype:chore.Acceptance and validation / Aceptación y validación
mouseleavede la tira; la guarda aplica solo a la vía del puntero; la función pura cubre los bordes en ambos ejes; sin cambio de comportamiento respecto de fix(widget): el detalle no se reabre solo al soltar un orbe reordenado (#222) #240.npm test: vitest 69 archivos / 910 tests;node --test298; 0 fallos.npm run typecheckynpm run build: sin errores.node scripts/i18n-inventory.mjs --check: correcto.cargo testno aplica: el cambio es solo de TypeScript ensrc/y no tocasrc-tauri/. No hubo prueba manual en GUI porque el comportamiento no cambia: las funciones borradas eran identidades y el predicado extraído reproduce la misma comparación.An open PR does not mean integration. Release, secrets and signing operations require separate authorization.
Una PR abierta no implica integración. Release, secretos y firma requieren autorización separada.