---
title: "Validate a documented Unicode length limit"
description: "Test a short text field with a defined character-counting rule so emoji and combining characters do not produce inconsistent validation or truncation."
canonical_url: "https://vostride.com/agent-library/forms-validation/unicode-length-boundary.md"
md_url: "https://vostride.com/agent-library/forms-validation/unicode-length-boundary.md"
content_kind: "recipe"
topic: "forms-validation"
---

# Validate a documented Unicode length limit

Test a short text field with a defined character-counting rule so emoji and combining characters do not produce inconsistent validation or truncation.

## Risk

A field can count bytes, code units, or user-perceived characters differently across client and server. This recipe explicitly uses a product rule of ten Unicode code points; adapt the oracle if the product specifies another rule.

## Fixtures

- A test-only badge editor limits labels to ten Unicode code points and does not normalize or truncate accepted text.
- The accepted fixture is nine ASCII letters followed by one single-code-point emoji; the rejected fixture appends one additional ASCII letter.
- A fixture utility independently records the exact accepted string and its code-point count before the run.

## Steps

1. Open the badge editor and enter the eleven-code-point rejected fixture exactly.
2. Submit and verify a visible length-limit error without a newly saved badge.
3. Replace the value with the ten-code-point accepted fixture and verify the form accepts it.
4. Save and inspect the badge detail; verify all nine letters and the complete emoji remain visible.
5. Reopen edit and compare the exact saved string with the fixture utility through an approved read-only check when screenshots cannot establish character identity.

## Expected results

- The over-limit string is rejected without silent truncation under this contract.
- The boundary string persists unchanged and has exactly ten code points in independent evidence.
- The editor and saved detail agree on accepted text rather than enforcing conflicting length algorithms.

## False-pass traps

- An emoji may look unchanged despite altered encoding; visual evidence alone does not establish exact Unicode identity.
- Assuming all emoji occupy one code point would invalidate the fixture; prepare a verified single-code-point example.

## Cleanup

- Delete the test badge and any unexpected truncated duplicate.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa web testing](/docs/agent-qa/guides/web-testing.md)

- [Forms and validation QA recipes](/agent-library/forms-validation.md)
- [Software factory QA library](/agent-library.md)
