@@ -817,6 +817,16 @@ QUnit.test(
817817 }
818818) ;
819819
820+ QUnit . test ( "Deserialize query param nested object" , ( assert : Assert ) => {
821+ const handler = { } ;
822+ const router = new RouteRecognizer < { } > ( ) ;
823+ router . add ( [ { path : "/foo/bar" , handler } ] ) ;
824+
825+ const results = router . recognize ( "/foo/bar?filter=[user][name][$contains]=nick" ) ;
826+ const p = results && results . queryParams ;
827+ assert . deepEqual ( p , { filter : { user : { name : { $contains : 'scoot' } } } } ) ;
828+ } ) ;
829+
820830QUnit . test ( "Multiple `/` routes recognize" , ( assert : Assert ) => {
821831 const handler1 = { handler : 1 } ;
822832 const handler2 = { handler : 2 } ;
@@ -1637,7 +1647,7 @@ QUnit.module("Route Generation", hooks => {
16371647 }
16381648 ) ;
16391649
1640- QUnit . test ( "Generation works with query params" , ( assert : Assert ) => {
1650+ QUnit . only ( "Generation works with query params" , ( assert : Assert ) => {
16411651 assert . equal (
16421652 router . generate ( "index" , { queryParams : { filter : "date" } } ) ,
16431653 "/?filter=date"
@@ -1721,6 +1731,10 @@ QUnit.module("Route Generation", hooks => {
17211731 router . generate ( "index" , { queryParams : { filter : "date" , sort : 0 } } ) ,
17221732 "/?filter=date&sort=0"
17231733 ) ;
1734+ assert . equal (
1735+ router . generate ( "index" , { queryParams : { filter : { user : { name : { $contains : 'scoot' } } } , sort : 0 } } ) ,
1736+ "/?filter=[user][name][$contains]=scoot"
1737+ ) ;
17241738 } ) ;
17251739
17261740 QUnit . test ( "Generation works with array query params" , ( assert : Assert ) => {
0 commit comments