summaryrefslogtreecommitdiff
path: root/response/response_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'response/response_test.go')
-rw-r--r--response/response_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/response/response_test.go b/response/response_test.go
index 99ce62359..4d1fb417a 100644
--- a/response/response_test.go
+++ b/response/response_test.go
@@ -94,3 +94,30 @@ func TestReadRspFile(t *testing.T) {
})
}
}
+
+func TestWriteRspFile(t *testing.T) {
+ testCases := []struct {
+ name string
+ in []string
+ out string
+ }{
+ {
+ name: "ninja rsp file",
+ in: []string{"a", "b", "@", "foo'bar", `foo"bar`},
+ out: "a b '@' 'foo'\\''bar' 'foo\"bar'",
+ },
+ }
+
+ for _, testCase := range testCases {
+ t.Run(testCase.name, func(t *testing.T) {
+ buf := &bytes.Buffer{}
+ err := WriteRspFile(buf, testCase.in)
+ if err != nil {
+ t.Errorf("unexpected error: %q", err)
+ }
+ if buf.String() != testCase.out {
+ t.Errorf("expected %q got %q", testCase.out, buf.String())
+ }
+ })
+ }
+}