(t *testing.T)
| 61 | } |
| 62 | |
| 63 | func 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 | } |
nothing calls this directly
no test coverage detected