MCPcopy
hub / github.com/httprunner/httprunner / TestParseDataStringWithVariablesAbnormal

Function TestParseDataStringWithVariablesAbnormal

hrp/parser_test.go:248–291  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

246}
247
248func TestParseDataStringWithVariablesAbnormal(t *testing.T) {
249 variablesMapping := map[string]interface{}{
250 "var_1": "abc",
251 "var_2": "def",
252 "var_3": 123,
253 "var_4": map[string]interface{}{"a": 1},
254 "var_5": true,
255 "var_6": nil,
256 "v": 4.5, // variable name with one character
257 "_v": 6.9, // variable name starts with underscore
258 }
259
260 testData := []struct {
261 expr string
262 expect interface{}
263 }{
264 {"$", "$"},
265 {"var_1$", "var_1$"},
266 {"var_1$123", "var_1$123"}, // variable should starts with a letter
267 {"ABC$var_1{", "ABCabc{"}, // {
268 {"ABC$var_1}", "ABCabc}"}, // }
269 {"{ABC$var_1{}a}", "{ABCabc{}a}"}, // {xx}
270 {"AB{C$var_1{}a}", "AB{Cabc{}a}"}, // {xx{}x}
271 {"ABC$$var_1{", "ABC$var_1{"}, // $$
272 {"ABC$$$var_1{", "ABC$abc{"}, // $$$
273 {"ABC$$$$var_1{", "ABC$$var_1{"}, // $$$$
274 {"ABC$var_1${", "ABCabc${"}, // ${
275 {"ABC$var_1${a", "ABCabc${a"}, // ${
276 {"ABC$var_1$}a", "ABCabc$}a"}, // $}
277 {"ABC$var_1}{a", "ABCabc}{a"}, // }{
278 {"ABC$var_1{}a", "ABCabc{}a"}, // {}
279 }
280
281 parser := newParser()
282 for _, data := range testData {
283 parsedData, err := parser.Parse(data.expr, variablesMapping)
284 if !assert.NoError(t, err) {
285 t.Fatal()
286 }
287 if !assert.Equal(t, data.expect, parsedData) {
288 t.Fatal()
289 }
290 }
291}
292
293func TestParseDataMapWithVariables(t *testing.T) {
294 variablesMapping := map[string]interface{}{

Callers

nothing calls this directly

Calls 2

newParserFunction · 0.85
ParseMethod · 0.80

Tested by

no test coverage detected