Skip to content

Commit 925dbb6

Browse files
joeybloggsjoeybloggs
authored andcommitted
Add Uint tests
1 parent 9207e45 commit 925dbb6

File tree

1 file changed

+102
-132
lines changed

1 file changed

+102
-132
lines changed

form_test.go

Lines changed: 102 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ func TestInt(t *testing.T) {
4444
IntPtrArrayArray [][]*int
4545
IntMap map[int]int
4646
IntPtrMap map[*int]*int
47+
NoURLValue int
4748
}
4849

4950
values := url.Values{
@@ -124,146 +125,115 @@ func TestInt(t *testing.T) {
124125

125126
v, ok := test.IntMap[1]
126127
Equal(t, ok, true)
127-
Equal(t, v, 3)
128-
}
129-
130-
// func TestInt8(t *testing.T) {
131-
132-
// type intStruct struct {
133-
// Int8Field int8
134-
// Int8PtrField *int8
135-
// }
136-
137-
// tests := []struct {
138-
// values url.Values
139-
// expected int8
140-
// isPtr bool
141-
// }{
142-
// {
143-
// values: url.Values{"Int8Field": []string{"7"}},
144-
// expected: 7,
145-
// },
146-
// {
147-
// values: url.Values{"Int8PtrField": []string{"6"}},
148-
// expected: 6,
149-
// isPtr: true,
150-
// },
151-
// }
152-
153-
// decoder := NewDecoder()
154-
155-
// var test intStruct
156-
// var val int8
157-
158-
// for i, tt := range tests {
159-
// decoder.Decode(&test, tt.values)
160-
161-
// if tt.isPtr {
162-
// if test.Int8PtrField == nil {
163-
// t.Errorf("Idx: %d Expected '%d' Got '%d'", i, tt.expected, test.Int8PtrField)
164-
// continue
165-
// }
166-
// val = *test.Int8PtrField
167-
// } else {
168-
// val = test.Int8Field
169-
// }
170-
171-
// if val != tt.expected {
172-
// t.Errorf("Idx: %d Expected '%d' Got '%d'", i, tt.expected, val)
173-
// }
174-
// }
175-
// // values := url.Values{
176-
// // "Int8Field": []string{"5"},
177-
// // }
178-
179-
// // fmt.Println(test.Int8Field)
180-
// // type mm map[string]*intStruct
181-
// // // m := map[int]string{}
182-
// // m := make(mm)
183-
// // fmt.Println(reflect.ValueOf(m).Kind())
184-
// }
185-
186-
// func TestStraighUpArray(t *testing.T) {
128+
Equal(t, v, int(3))
187129

188-
// type Array struct {
189-
// MyArray []int8
190-
// }
191-
192-
// type ArrayPtr struct {
193-
// MyArray []*int8
194-
// }
195-
196-
// values := url.Values{"MyArray": []string{"0", "1", "2"}}
197-
198-
// decoder := NewDecoder()
199-
200-
// var test Array
201-
// var test2 ArrayPtr
202-
203-
// // test2.MyArray = make([]*int8, 1, 1)
204-
205-
// decoder.Decode(&test, values)
206-
// decoder.Decode(&test2, values)
207-
208-
// // fmt.Println("Test:", test)
209-
// // fmt.Println("Test 2:", test2)
210-
// // fmt.Println(*test2.MyArray[0])
211-
// // fmt.Println(*test2.MyArray[1])
212-
// // fmt.Println(*test2.MyArray[2])
213-
214-
// }
215-
216-
// func TestArrayNumbered(t *testing.T) {
217-
218-
// type Array struct {
219-
// MyArray []int8
220-
// }
221-
222-
// type ArrayPtr struct {
223-
// MyArray []*int8
224-
// }
225-
226-
// values := url.Values{"MyArray[0]": []string{"32"}, "MyArray[2]": []string{"33"}}
227-
228-
// decoder := NewDecoder()
229-
230-
// var test Array
231-
// var test2 ArrayPtr
232-
233-
// decoder.Decode(&test, values)
234-
// decoder.Decode(&test2, values)
235-
236-
// // fmt.Println("Test:", test)
237-
// // fmt.Println("Test 2:", test2)
238-
// // fmt.Println(*test2.MyArray[0])
239-
// // fmt.Println(test2.MyArray[1])
240-
// // fmt.Println(*test2.MyArray[2])
241-
242-
// }
243-
244-
// func TestArrayOfArray(t *testing.T) {
130+
Equal(t, test.NoURLValue, int(0))
131+
}
245132

246-
// type Array struct {
247-
// MyArray [][]int8
248-
// }
133+
func TestUint(t *testing.T) {
134+
135+
type TestUint struct {
136+
Uint uint
137+
Uint8 uint8
138+
Uint16 uint16
139+
Uint32 uint32
140+
Uint64 uint64
141+
UintPtr *uint
142+
Uint8Ptr *uint8
143+
Uint16Ptr *uint16
144+
Uint32Ptr *uint32
145+
Uint64Ptr *uint64
146+
UintArray []uint
147+
UintPtrArray []*uint
148+
UintArrayArray [][]uint
149+
UintPtrArrayArray [][]*uint
150+
UintMap map[uint]uint
151+
UintPtrMap map[*uint]*uint
152+
NoURLValue uint
153+
}
249154

250-
// type ArrayPtr struct {
251-
// MyArray [][]*int8
252-
// }
155+
values := url.Values{
156+
"Uint": []string{"3"},
157+
"Uint8": []string{"3"},
158+
"Uint16": []string{"3"},
159+
"Uint32": []string{"3"},
160+
"Uint64": []string{"3"},
161+
"UintPtr": []string{"3"},
162+
"Uint8Ptr": []string{"3"},
163+
"Uint16Ptr": []string{"3"},
164+
"Uint32Ptr": []string{"3"},
165+
"Uint64Ptr": []string{"3"},
166+
"UintArray": []string{"1", "2", "3"},
167+
"UintPtrArray[0]": []string{"1"},
168+
"UintPtrArray[2]": []string{"3"},
169+
"UintArrayArray[0][0]": []string{"1"},
170+
"UintArrayArray[0][2]": []string{"3"},
171+
"UintArrayArray[2][0]": []string{"1"},
172+
"UintPtrArrayArray[0][0]": []string{"1"},
173+
"UintPtrArrayArray[0][2]": []string{"3"},
174+
"UintPtrArrayArray[2][0]": []string{"1"},
175+
"UintMap[1]": []string{"3"},
176+
"UintPtrMap[1]": []string{"3"},
177+
}
253178

254-
// values := url.Values{"MyArray[0][0]": []string{"32"}, "MyArray[0][1]": []string{"35"}, "MyArray[2][0]": []string{"33"}}
179+
var test TestUint
255180

256-
// decoder := NewDecoder()
181+
test.UintArray = make([]uint, 4)
257182

258-
// var test Array
259-
// var test2 ArrayPtr
183+
decoder := NewDecoder()
184+
errs := decoder.Decode(&test, values)
185+
Equal(t, errs, nil)
260186

261-
// decoder.Decode(&test, values)
262-
// decoder.Decode(&test2, values)
187+
Equal(t, test.Uint, uint(3))
188+
Equal(t, test.Uint8, uint8(3))
189+
Equal(t, test.Uint16, uint16(3))
190+
Equal(t, test.Uint32, uint32(3))
191+
Equal(t, test.Uint64, uint64(3))
192+
193+
Equal(t, *test.UintPtr, uint(3))
194+
Equal(t, *test.Uint8Ptr, uint8(3))
195+
Equal(t, *test.Uint16Ptr, uint16(3))
196+
Equal(t, *test.Uint32Ptr, uint32(3))
197+
Equal(t, *test.Uint64Ptr, uint64(3))
198+
199+
Equal(t, len(test.UintArray), 4)
200+
Equal(t, test.UintArray[0], uint(1))
201+
Equal(t, test.UintArray[1], uint(2))
202+
Equal(t, test.UintArray[2], uint(3))
203+
Equal(t, test.UintArray[3], uint(0))
204+
205+
Equal(t, len(test.UintPtrArray), 3)
206+
Equal(t, *test.UintPtrArray[0], uint(1))
207+
Equal(t, test.UintPtrArray[1], nil)
208+
Equal(t, *test.UintPtrArray[2], uint(3))
209+
210+
Equal(t, len(test.UintArrayArray), 3)
211+
Equal(t, len(test.UintArrayArray[0]), 3)
212+
Equal(t, len(test.UintArrayArray[1]), 0)
213+
Equal(t, len(test.UintArrayArray[2]), 1)
214+
Equal(t, test.UintArrayArray[0][0], uint(1))
215+
Equal(t, test.UintArrayArray[0][1], uint(0))
216+
Equal(t, test.UintArrayArray[0][2], uint(3))
217+
Equal(t, test.UintArrayArray[2][0], uint(1))
218+
219+
Equal(t, len(test.UintPtrArrayArray), 3)
220+
Equal(t, len(test.UintPtrArrayArray[0]), 3)
221+
Equal(t, len(test.UintPtrArrayArray[1]), 0)
222+
Equal(t, len(test.UintPtrArrayArray[2]), 1)
223+
Equal(t, *test.UintPtrArrayArray[0][0], uint(1))
224+
Equal(t, test.UintPtrArrayArray[0][1], nil)
225+
Equal(t, *test.UintPtrArrayArray[0][2], uint(3))
226+
Equal(t, *test.UintPtrArrayArray[2][0], uint(1))
227+
228+
Equal(t, len(test.UintMap), 1)
229+
Equal(t, len(test.UintPtrMap), 1)
230+
231+
v, ok := test.UintMap[1]
232+
Equal(t, ok, true)
233+
Equal(t, v, uint(3))
263234

264-
// // fmt.Println("Test:", test)
265-
// // fmt.Println("Test 2:", test2)
266-
// }
235+
Equal(t, test.NoURLValue, uint(0))
236+
}
267237

268238
// func TestString(t *testing.T) {
269239

0 commit comments

Comments
 (0)