MCPcopy
hub / github.com/restic/restic / TestShellSplitter

Function TestShellSplitter

internal/backend/shell_split_test.go:8–64  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

6)
7
8func TestShellSplitter(t *testing.T) {
9 var tests = []struct {
10 data string
11 args []string
12 }{
13 {
14 `foo`,
15 []string{"foo"},
16 },
17 {
18 `'foo'`,
19 []string{"foo"},
20 },
21 {
22 `foo bar baz`,
23 []string{"foo", "bar", "baz"},
24 },
25 {
26 `foo 'bar' baz`,
27 []string{"foo", "bar", "baz"},
28 },
29 {
30 `'bar box' baz`,
31 []string{"bar box", "baz"},
32 },
33 {
34 `"bar 'box'" baz`,
35 []string{"bar 'box'", "baz"},
36 },
37 {
38 `'bar "box"' baz`,
39 []string{`bar "box"`, "baz"},
40 },
41 {
42 `\"bar box baz`,
43 []string{`"bar`, "box", "baz"},
44 },
45 {
46 `"bar/foo/x" "box baz"`,
47 []string{"bar/foo/x", "box baz"},
48 },
49 }
50
51 for _, test := range tests {
52 t.Run("", func(t *testing.T) {
53 args, err := SplitShellStrings(test.data)
54 if err != nil {
55 t.Fatal(err)
56 }
57
58 if !reflect.DeepEqual(args, test.args) {
59 t.Fatalf("wrong args returned, want:\n %#v\ngot:\n %#v",
60 test.args, args)
61 }
62 })
63 }
64}
65

Callers

nothing calls this directly

Calls 4

SplitShellStringsFunction · 0.85
RunMethod · 0.80
FatalMethod · 0.80
FatalfMethod · 0.80

Tested by

no test coverage detected