MCPcopy
hub / github.com/XiaoMi/Gaea / TestRestoreCtx

Function TestRestoreCtx

parser/format/format_test.go:63–95  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

61}
62
63func TestRestoreCtx(t *testing.T) {
64 testCases := []struct {
65 flag RestoreFlags
66 expect string
67 }{
68 {0, "key`.'\"Word\\ str`.'\"ing\\ na`.'\"Me\\"},
69 {RestoreStringSingleQuotes, "key`.'\"Word\\ 'str`.''\"ing\\' na`.'\"Me\\"},
70 {RestoreStringDoubleQuotes, "key`.'\"Word\\ \"str`.'\"\"ing\\\" na`.'\"Me\\"},
71 {RestoreStringEscapeBackslash, "key`.'\"Word\\ str`.'\"ing\\\\ na`.'\"Me\\"},
72 {RestoreKeyWordUppercase, "KEY`.'\"WORD\\ str`.'\"ing\\ na`.'\"Me\\"},
73 {RestoreKeyWordLowercase, "key`.'\"word\\ str`.'\"ing\\ na`.'\"Me\\"},
74 {RestoreNameUppercase, "key`.'\"Word\\ str`.'\"ing\\ NA`.'\"ME\\"},
75 {RestoreNameLowercase, "key`.'\"Word\\ str`.'\"ing\\ na`.'\"me\\"},
76 {RestoreNameDoubleQuotes, "key`.'\"Word\\ str`.'\"ing\\ \"na`.'\"\"Me\\\""},
77 {RestoreNameBackQuotes, "key`.'\"Word\\ str`.'\"ing\\ `na``.'\"Me\\`"},
78 {DefaultRestoreFlags, "KEY`.'\"WORD\\ 'str`.''\"ing\\' `na``.'\"Me\\`"},
79 {RestoreStringSingleQuotes | RestoreStringDoubleQuotes, "key`.'\"Word\\ 'str`.''\"ing\\' na`.'\"Me\\"},
80 {RestoreKeyWordUppercase | RestoreKeyWordLowercase, "KEY`.'\"WORD\\ str`.'\"ing\\ na`.'\"Me\\"},
81 {RestoreNameUppercase | RestoreNameLowercase, "key`.'\"Word\\ str`.'\"ing\\ NA`.'\"ME\\"},
82 {RestoreNameDoubleQuotes | RestoreNameBackQuotes, "key`.'\"Word\\ str`.'\"ing\\ \"na`.'\"\"Me\\\""},
83 }
84 var sb strings.Builder
85 for _, testCase := range testCases {
86 sb.Reset()
87 ctx := NewRestoreCtx(testCase.flag, &sb)
88 ctx.WriteKeyWord("key`.'\"Word\\")
89 ctx.WritePlain(" ")
90 ctx.WriteString("str`.'\"ing\\")
91 ctx.WritePlain(" ")
92 ctx.WriteName("na`.'\"Me\\")
93 require.Equalf(t, testCase.expect, sb.String(), "case: %#v", testCase)
94 }
95}

Callers

nothing calls this directly

Calls 7

WriteKeyWordMethod · 0.95
WritePlainMethod · 0.95
WriteStringMethod · 0.95
WriteNameMethod · 0.95
NewRestoreCtxFunction · 0.85
StringMethod · 0.65
ResetMethod · 0.45

Tested by

no test coverage detected