macos: Ghostty.Shell.escape unit tests

pull/11162/head
Jon Parise 2026-03-04 11:00:03 -05:00
parent 619e33a4fe
commit a716b9c4d4
1 changed files with 28 additions and 0 deletions

View File

@ -2,6 +2,34 @@ import Testing
@testable import Ghostty
struct ShellTests {
@Test(arguments: [
("hello", "hello"),
("", ""),
("file name", "file\\ name"),
("a\\b", "a\\\\b"),
("(foo)", "\\(foo\\)"),
("[bar]", "\\[bar\\]"),
("{baz}", "\\{baz\\}"),
("<qux>", "\\<qux\\>"),
("say\"hi\"", "say\\\"hi\\\""),
("it's", "it\\'s"),
("`cmd`", "\\`cmd\\`"),
("wow!", "wow\\!"),
("#comment", "\\#comment"),
("$HOME", "\\$HOME"),
("a&b", "a\\&b"),
("a;b", "a\\;b"),
("a|b", "a\\|b"),
("*.txt", "\\*.txt"),
("file?.log", "file\\?.log"),
("col1\tcol2", "col1\\\tcol2"),
("$(echo 'hi')", "\\$\\(echo\\ \\'hi\\'\\)"),
("/tmp/my file (1).txt", "/tmp/my\\ file\\ \\(1\\).txt"),
])
func escape(input: String, expected: String) {
#expect(Ghostty.Shell.escape(input) == expected)
}
@Test(arguments: [
("", "''"),
("filename", "filename"),