Context: Same rationale as #9 — direct visitor tests isolate failures better than the full HTMLExporter pipeline tests. Additionally, a bug was previously found and fixed in HTMLDraftman.visitTriangle() where this.hashCode() was used instead of sTriangle.hashCode() (commit edd5167). A direct visitor test would have caught this immediately. A regression test should be included.
**Priority:** P1 — Medium
**Context:** Same rationale as #9 — direct visitor tests isolate failures better than the full HTMLExporter pipeline tests. Additionally, a bug was previously found and fixed in `HTMLDraftman.visitTriangle()` where `this.hashCode()` was used instead of `sTriangle.hashCode()` (commit `edd5167`). A direct visitor test would have caught this immediately. A regression test should be included.
**Scope:** `src/main/java/ovh/gasser/newshapes/ui/visitors/HTMLDraftman.java`
**Goal:** Test each `visit*()` method in isolation.
**Edge cases to cover:**
- Text font styles (ITALIC, BOLD, ITALIC+BOLD)
- Nested collections
- Null ColorAttributes
- Filled only / stroked only / both / neither
- Regression test for `visitTriangle()` hashCode fix
**Estimate:** 2 hours
**Dependencies:** None
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Priority: P1 — Medium
Context: Same rationale as #9 — direct visitor tests isolate failures better than the full HTMLExporter pipeline tests. Additionally, a bug was previously found and fixed in
HTMLDraftman.visitTriangle()wherethis.hashCode()was used instead ofsTriangle.hashCode()(commitedd5167). A direct visitor test would have caught this immediately. A regression test should be included.Scope:
src/main/java/ovh/gasser/newshapes/ui/visitors/HTMLDraftman.javaGoal: Test each
visit*()method in isolation.Edge cases to cover:
visitTriangle()hashCode fixEstimate: 2 hours
Dependencies: None