1 // SPDX-License-Identifier: GPL-3.0-or-later
2 // Copyright (C) 2021-2024 Simon Ruderich
9 "ruderich.org/simon/safcm/testutil"
12 func TestEscapeControlCharacters(t *testing.T) {
35 ColorString(true, ColorRed, "red"),
41 ColorString(true, ColorRed, "red"),
42 "\x1B[35m\\x1B\x1B[0m[31mred\x1B[35m\\x1B\x1B[0m[0m",
55 "\x1B[35m\\r\x1B[0m\n",
61 "\xD6\x24\xA4\x45\xA2\x68\xD3\x0E\xD4\xC7\xC3\x1F",
62 "\xD6$\xA4E\xA2h\xD3\\x0E\xD4\xC7\xC3\\x1F",
67 "\xD6\x24\xA4\x45\xA2\x68\xD3\x0E\xD4\xC7\xC3\x1F",
68 "\xD6$\xA4E\xA2h\xD3\x1B[35m\\x0E\x1B[0m\xD4\xC7\xc3\x1B[35m\\x1F\x1B[0m",
72 for _, tc := range tests {
73 t.Run(tc.name, func(t *testing.T) {
74 res := EscapeControlCharacters(tc.isTTY, tc.x)
75 testutil.AssertEqual(t, "res", res, tc.exp)