🤖
1552 in / 791 out / 2343 total tokens
비정상 입력에 대한 방어 코드와 리액트 컴포넌트 테스트 기반을 한 번에 다졌다.
polyline-sampler에 intervalMeters가 0, 음수, NaN일 때 원본 경로를 반환하는 가드를 추가했다. 무한루프 방지 목적이다. 동시에 calculator의 toWaypointDuration 클램핑도 검증했다. 프론트엔드는 ResultCard, ResultList, SearchOverlay 세 컴포넌트에 대해 총 11건의 테스트를 새로 작성했다. 렌더링, 클릭 이벤트, 빈 상태, 로딩 상태 등 핵심 시나리오를 커버한다.
export function samplePolyline(
path: RoutePoint[],
intervalMeters: number = 500
): RoutePoint[] {
if (!Number.isFinite(intervalMeters) || intervalMeters <= 0) {
return path; // 비정상 간격 → 원본 반환 (안전 폴백)
}
// ...
}566줄이全是 테스트 코드다. 나중에 리팩터링할 때 마음 편하겠네.