@@ -50,6 +50,8 @@ func createMultipartRequest() *http.Request {
50
50
must (mw .WriteField ("time_local" , "31/12/2016 14:55" ))
51
51
must (mw .WriteField ("time_utc" , "31/12/2016 14:55" ))
52
52
must (mw .WriteField ("time_location" , "31/12/2016 14:55" ))
53
+ must (mw .WriteField ("names[a]" , "thinkerou" ))
54
+ must (mw .WriteField ("names[b]" , "tianou" ))
53
55
req , err := http .NewRequest ("POST" , "/" , body )
54
56
must (err )
55
57
req .Header .Set ("Content-Type" , MIMEMultipartPOSTForm + "; boundary=" + boundary )
@@ -376,7 +378,8 @@ func TestContextQuery(t *testing.T) {
376
378
func TestContextQueryAndPostForm (t * testing.T ) {
377
379
c , _ := CreateTestContext (httptest .NewRecorder ())
378
380
body := bytes .NewBufferString ("foo=bar&page=11&both=&foo=second" )
379
- c .Request , _ = http .NewRequest ("POST" , "/?both=GET&id=main&id=omit&array[]=first&array[]=second" , body )
381
+ c .Request , _ = http .NewRequest ("POST" ,
382
+ "/?both=GET&id=main&id=omit&array[]=first&array[]=second&ids[a]=hi&ids[b]=3.14" , body )
380
383
c .Request .Header .Add ("Content-Type" , MIMEPOSTForm )
381
384
382
385
assert .Equal (t , "bar" , c .DefaultPostForm ("foo" , "none" ))
@@ -462,6 +465,30 @@ func TestContextQueryAndPostForm(t *testing.T) {
462
465
values = c .QueryArray ("both" )
463
466
assert .Equal (t , 1 , len (values ))
464
467
assert .Equal (t , "GET" , values [0 ])
468
+
469
+ dicts , ok := c .GetQueryMap ("ids" )
470
+ assert .True (t , ok )
471
+ assert .Equal (t , "hi" , dicts ["a" ])
472
+ assert .Equal (t , "3.14" , dicts ["b" ])
473
+
474
+ dicts , ok = c .GetQueryMap ("nokey" )
475
+ assert .False (t , ok )
476
+ assert .Equal (t , 0 , len (dicts ))
477
+
478
+ dicts , ok = c .GetQueryMap ("both" )
479
+ assert .False (t , ok )
480
+ assert .Equal (t , 0 , len (dicts ))
481
+
482
+ dicts , ok = c .GetQueryMap ("array" )
483
+ assert .False (t , ok )
484
+ assert .Equal (t , 0 , len (dicts ))
485
+
486
+ dicts = c .QueryMap ("ids" )
487
+ assert .Equal (t , "hi" , dicts ["a" ])
488
+ assert .Equal (t , "3.14" , dicts ["b" ])
489
+
490
+ dicts = c .QueryMap ("nokey" )
491
+ assert .Equal (t , 0 , len (dicts ))
465
492
}
466
493
467
494
func TestContextPostFormMultipart (t * testing.T ) {
@@ -538,6 +565,22 @@ func TestContextPostFormMultipart(t *testing.T) {
538
565
values = c .PostFormArray ("foo" )
539
566
assert .Equal (t , 1 , len (values ))
540
567
assert .Equal (t , "bar" , values [0 ])
568
+
569
+ dicts , ok := c .GetPostFormMap ("names" )
570
+ assert .True (t , ok )
571
+ assert .Equal (t , "thinkerou" , dicts ["a" ])
572
+ assert .Equal (t , "tianou" , dicts ["b" ])
573
+
574
+ dicts , ok = c .GetPostFormMap ("nokey" )
575
+ assert .False (t , ok )
576
+ assert .Equal (t , 0 , len (dicts ))
577
+
578
+ dicts = c .PostFormMap ("names" )
579
+ assert .Equal (t , "thinkerou" , dicts ["a" ])
580
+ assert .Equal (t , "tianou" , dicts ["b" ])
581
+
582
+ dicts = c .PostFormMap ("nokey" )
583
+ assert .Equal (t , 0 , len (dicts ))
541
584
}
542
585
543
586
func TestContextSetCookie (t * testing.T ) {
0 commit comments