/** * #532 — formatRegion() 순수 함수 단위 테스트. * 설계서: docs/design/532-region-display/README.md */ import { formatRegion } from "@/lib/region"; describe("formatRegion", () => { it("falsy 입력은 빈 문자열", () => { expect(formatRegion("")).toBe(""); expect(formatRegion(null)).toBe(""); expect(formatRegion(undefined)).toBe(""); }); it("파이프 구분 지역을 계층(breadcrumb)으로 변환한다", () => { expect(formatRegion("한국|서울|강남구")).toBe("한국 › 서울 › 강남구"); }); it("'null' 토큰(대소문자 무시)은 제거한다", () => { expect(formatRegion("일본|null")).toBe("일본"); expect(formatRegion("일본|NULL")).toBe("일본"); }); it("빈 토큰은 제거한다", () => { expect(formatRegion("한국||관악구")).toBe("한국 › 관악구"); }); it("더미 토큰 '나라'는 제거한다", () => { expect(formatRegion("나라|서울")).toBe("서울"); }); it("단일 토큰은 그대로 반환한다", () => { expect(formatRegion("한국")).toBe("한국"); }); it("모든 토큰이 더미/빈 값이면 빈 문자열", () => { expect(formatRegion("한국|")).toBe("한국"); expect(formatRegion("|")).toBe(""); expect(formatRegion("나라|null|")).toBe(""); }); it("토큰 앞뒤 공백은 trim 된다", () => { expect(formatRegion(" 한국 | 서울 ")).toBe("한국 › 서울"); }); });