---
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"
---

> [Documentation index](https://vostride.com/docs.md) · [Site index](https://vostride.com/llms.txt)
> Follow the Markdown links to read individual pages; the indexes list the available documentation.
> [QA library](https://vostride.com/agent-library.md) / [Forms and validation QA recipes](https://vostride.com/agent-library/forms-validation.md)

# 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](https://vostride.com/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](https://vostride.com/docs/agent-qa/configuration/test.md)
- [agent-qa first test](https://vostride.com/docs/agent-qa/guides/first-test.md)
- [agent-qa web testing](https://vostride.com/docs/agent-qa/guides/web-testing.md)

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