MCPcopy Index your code
hub / github.com/coder/coder / TestExtractJSON

Function TestExtractJSON

coderd/taskname/taskname_internal_test.go:121–193  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

119}
120
121func TestExtractJSON(t *testing.T) {
122 t.Parallel()
123
124 tests := []struct {
125 name string
126 input string
127 expected string
128 }{
129 {
130 name: "BareJSON",
131 input: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
132 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
133 },
134 {
135 name: "FencedJSON",
136 input: "```json\n{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}\n```",
137 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
138 },
139 {
140 name: "FencedNoLanguage",
141 input: "```\n{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}\n```",
142 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
143 },
144 {
145 name: "FencedWithSurroundingWhitespace",
146 input: " \n```json\n{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}\n```\n ",
147 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
148 },
149 {
150 name: "BareJSONWithWhitespace",
151 input: " \n{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}\n ",
152 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
153 },
154 {
155 name: "FencedMultilineJSON",
156 input: "```json\n{\n \"display_name\": \"Fix bug\",\n \"task_name\": \"fix-bug\"\n}\n```",
157 expected: "{\n \"display_name\": \"Fix bug\",\n \"task_name\": \"fix-bug\"\n}",
158 },
159 {
160 name: "FencedJSONWithTrailingText",
161 input: "```json\n{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}\n```\n\nDone.",
162 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
163 },
164 {
165 name: "BareJSONWithTrailingFence",
166 input: "{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}\n```",
167 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
168 },
169 {
170 name: "BareJSONWithTrailingText",
171 input: "{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}\n\nDone.",
172 expected: `{"display_name": "Fix bug", "task_name": "fix-bug"}`,
173 },
174 {
175 name: "FencedNoNewlinePassthrough",
176 input: "```json{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}```",
177 expected: "```json{\"display_name\": \"Fix bug\", \"task_name\": \"fix-bug\"}```",
178 },

Callers

nothing calls this directly

Calls 3

extractJSONFunction · 0.85
RunMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected