fork of indigo with slightly nicer lexgen
at main 1.2 kB view raw
1package xrpc 2 3import ( 4 "testing" 5) 6 7// TestMakeParams tests the makeParams function. 8func TestMakeParams(t *testing.T) { 9 testCases := []struct { 10 name string 11 input map[string]interface{} 12 expected string 13 }{ 14 { 15 name: "Empty input", 16 input: map[string]interface{}{}, 17 expected: "", 18 }, 19 { 20 name: "Single value", 21 input: map[string]interface{}{ 22 "key": "value", 23 }, 24 expected: "key=value", 25 }, 26 { 27 name: "Multiple values", 28 input: map[string]interface{}{ 29 "key1": "value1", 30 "key2": "value2", 31 }, 32 expected: "key1=value1&key2=value2", 33 }, 34 { 35 name: "Slice of strings", 36 input: map[string]interface{}{ 37 "key": []string{"value1", "value2", "value3"}, 38 }, 39 expected: "key=value1&key=value2&key=value3", 40 }, 41 { 42 name: "Mixed values", 43 input: map[string]interface{}{ 44 "key1": "value1", 45 "key2": []string{"value2", "value3"}, 46 }, 47 expected: "key1=value1&key2=value2&key2=value3", 48 }, 49 } 50 51 for _, tc := range testCases { 52 t.Run(tc.name, func(t *testing.T) { 53 result := makeParams(tc.input) 54 if result != tc.expected { 55 t.Errorf("got '%q', want '%q'", result, tc.expected) 56 } 57 }) 58 } 59}