             XCTAssertEqual(res.http.status.code, 200)
             XCTAssertEqual(res.http.mediaType, .urlEncodedForm)
             XCTAssertEqual(res.http.body.string, expected)
+        }
+    }
+
+    func testURLEncodedFormDecodeQuery() throws {
+        let data = "name=Vapor&age=3&luckyNumbers[]=5&luckyNumbers[]=7"
+        struct User: Content {
+            var name: String
+            var age: Int
+            var luckyNumbers: [Int]
+        }
+
+        let app = try Application.makeTest { router in
+            router.get("urlencodedform") { req -> HTTPStatus in
+                let foo = try req.query.decode(User.self)
+                XCTAssertEqual(foo.name, "Vapor")
+                XCTAssertEqual(foo.age, 3)
+                XCTAssertEqual(foo.luckyNumbers, [5, 7])
+                return .ok
+            }
+        }
+
+        let req = HTTPRequest(method: .GET, url: URL(string: "/urlencodedform?\(data)")!)
+        try app.test(req) { res in
+            XCTAssertEqual(res.http.status.code, 200)
         }
     }
 

        ("testViewResponse", testViewResponse),
        ("testURLEncodedFormDecode", testURLEncodedFormDecode),
        ("testURLEncodedFormEncode", testURLEncodedFormEncode),
    ]
}


    }

    func testURLEncodedFormEncode() throws {
        let expected = "name=Vapor&age=3&luckyNumbers[]=5&luckyNumbers[]=7"

        struct User: Content {
