package app import ( "strings" "testing" ) // F-006: a multi-line paste must collapse to a single display line so the fixed-height // input box can't overflow and leave a smeared/stale region. func TestFlattenForDisplay(t *testing.T) { cases := map[string]string{ "plain text": "plain text", "line one\nline two": "line one↵ line two", "crlf\r\nhere": "crlf↵ here", "tab\tseparated": "tab separated", "a\nb\nc": "a↵ b↵ c", } for in, want := range cases { if got := flattenForDisplay(in); got != want { t.Errorf("flattenForDisplay(%q) = %q, want %q", in, got, want) } if strings.ContainsAny(flattenForDisplay(in), "\n\r\t") { t.Errorf("flattenForDisplay(%q) still contains a control char", in) } } }