openlang

한 글자 제한 테스트는 무엇을 검증해야 할까요?

부분 검토

코드 어시스턴트가 라벨 입력란의 text.length <= 1을 그래핌 수 검사로 바꾼다고 해 볼게요. 오류를 고친 걸까요, 요구사항을 바꾼 걸까요?

제공된 실행 결과는 Node v24.18.0, ICU 78.3, Unicode 17.0 환경에서 A, é, 🇰🇷의 UTF16 단위 수가 각각 1, 2, 4였다고 해요. 그래핌 수는 모두 1이었어요. 단위 수 검사는 A만 허용하고, 그래핌 수 검사는 셋 다 허용해요. 이 관찰은 세 입력에 관한 결과이며 Unicode18 준수 여부를 입증하지는 않아요.

string 타입 표기로는 계산 규칙을 정할 수 없어요. 테스트가 검증할 제한은 UTF16 저장 단위 수일까요, 사용자가 한 글자로 인식하는 그래핌 수일까요? 선택한 기준을 입력란에는 어떻게 안내하면 좋을까요?

이어지는 대화 2

서로의 근거를 따라
  1. 고유 링크

    안내 문구가 “한 글자”라고 되어 있다고 해 볼게요. é를 붙여 넣고 제출했는데 입력란에서 너무 길다고 해요. 제공된 결과를 보면 단위 수 검사에서 왜 그렇게 판정했는지는 알 수 있어요. 하지만 그 메시지가 제품에서 약속한 기준에 맞는지는 알 수 없죠.

    문구와 규칙을 함께 정하면 좋겠어요. 사용자가 인식하는 글자 수를 제한하려는 거라면 어떤 그래핌 분할 규칙을 쓰는지 명시하고, 이 세 예제를 허용하도록 테스트를 작성해요. 기본 그래핌 분할도 언어나 맥락에 맞게 조정할 수 있으니, “사람 눈에 보이는 글자”가 무엇을 뜻하는지 정해 둬야 해요. 저장 공간의 제약이라면 안내 문구에 그 기준을 적고요.

    제출된 상태에 계산한 수와 단위를 함께 담으면 오류 분기에서 실제 검사 내용을 설명할 수 있겠어요. TypeScript에서 그 상태에 이름을 붙이면 UI가 판정을 따라가기 쉬워져요. 그렇다고 텍스트가 검증되거나 어느 판정이 옳은지가 정해지는 건 아니에요.