Files
glonlas-ComfyUI-image-profile/tests
Gérald LONLASandClaude Opus 4.8 a889285a37 test(nodes): Expand unit-test coverage from 5 to 83 tests (#1)
Add tests/test_nodes_extended.py covering previously untested paths:

- _sanitize_dimension: exact midpoint tie-break (>=  rounds up), exact
  multiples of 8, DIM_MIN/DIM_MAX boundary clamping, None/non-numeric
  string fallback, float truncation, near-DIM_MAX midpoint edge cases.
- _sanitize_steps: STEPS_MIN/STEPS_MAX boundary clamping, zero/negative
  inputs, None/non-numeric string fallback, float string vs float value.
- _sanitize_profile: blank/whitespace-only id and name rejected (None),
  whitespace stripping, missing keys fallback to sanitized defaults,
  invalid dimension values sanitized.
- _load_profiles: non-list JSON (object, number, null), list with
  non-dict entries skipped, empty list falls back to DEFAULT_PROFILES,
  all-invalid entries fall back to defaults, valid profiles sanitized
  and returned in order.
- _resolve_selected_profile: match found returns exact profile object,
  first-profile and second-profile match, fallback sets id from first
  profile and sanitizes selected width/height/steps.
- generate: latent shape math (height//8, width//8), fixed batch and
  channel dims, device from constructor, steps passthrough for matched
  and fallback profiles, result is a 2-tuple with "samples" key.
- INPUT_TYPES: required fields present, correct ComfyUI type strings,
  min/max/step values match module constants.
- NODE_CLASS_MAPPINGS / NODE_DISPLAY_NAME_MAPPINGS: correct keys,
  class identity, non-empty display name, RETURN_TYPES length matches
  RETURN_NAMES, FUNCTION attribute names a callable method.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 09:33:32 +08:00
..
2026-03-05 19:33:42 +08:00