The commissioning decision
An interior supplier receives a brief with separate room and delivery instructions. A downstream transformation removes line breaks and joins two distinct requirements. Agree whether the receiver expects paragraphs, visual wrapping or inserted hard breaks, then compare the actual value rather than a screenshot of the input.
Source and claim boundary
Textarea soft wrapping does not add visual wrapping breaks to the submitted value; hard wrapping can add breaks and depends on cols. MDN · Checked 16 October 2026.
Filled synthetic acceptance cases
Synthetic teaching data, not client records. Review the inputs and expected outcomes before running the isolated browser exercise. On narrow screens, scroll the table.
| Input | Check | Expected |
|---|---|---|
| Room A Deliver Friday | soft textarea FormData | Two original lines |
| One long sentence, soft wrap | Actual value | No invented paragraph break |
| Placeholder only | Submitted brief value | Empty, not placeholder text |
How to verify beyond appearance
- Agree the paragraph and whitespace policy with the receiving team.
- Run the explicit-line and placeholder cases in the browser fixture.
- Check a redacted stored brief and final email, including newline escaping in logs.
Interpret the result
A line that wraps on a narrow phone screen is not necessarily a stored newline. The fixture isolates the native textarea value; a mail template may render it differently. Retain an escaped representation alongside a human-readable preview so staff can identify whether loss occurred in input, transport or display. Do not add breaks merely to imitate one viewport.
What this does not prove
This is not a rich-text sanitiser or a guarantee for every email client. CRLF and LF normalisation must be documented at integration boundaries.
Runnable fixture and handover record
Open the browser acceptance fixture · Read the test source。The fixture creates temporary elements with synthetic values inside the browser. It reads no account, uploads no file, and sends no email or form. Record the browser version, check name, observed value and pass state. Keep real integration evidence separate: a local pass is not a live delivery result.