From 89f78190bdb15fa9beda8bc152b71a57fb76e625 Mon Sep 17 00:00:00 2001
From: Jon Lim <jjrr287@gmail.com>
Date: Tue, 16 Apr 2024 22:55:37 -0700
Subject: [PATCH] sync to master branch by adding test_wrap

---
 actix-web-codegen/tests/test_macro.rs | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/actix-web-codegen/tests/test_macro.rs b/actix-web-codegen/tests/test_macro.rs
index dc843143..603f22af 100644
--- a/actix-web-codegen/tests/test_macro.rs
+++ b/actix-web-codegen/tests/test_macro.rs
@@ -6,6 +6,7 @@ use actix_web::{
     http::{
         self,
         header::{HeaderName, HeaderValue},
+        StatusCode,
     },
     web, App, Error, HttpRequest, HttpResponse, Responder,
 };
@@ -371,6 +372,20 @@ async fn test_auto_async() {
     assert!(response.status().is_success());
 }
 
+#[actix_web::test]
+async fn test_wrap() {
+    let srv = actix_test::start(|| App::new().service(get_wrap));
+
+    let request = srv.request(http::Method::GET, srv.url("/test/wrap"));
+    let mut response = request.send().await.unwrap();
+    assert_eq!(response.status(), StatusCode::NOT_FOUND);
+    assert!(response.headers().contains_key("custom-header"));
+    let body = response.body().await.unwrap();
+    let body = String::from_utf8(body.to_vec()).unwrap();
+    assert!(body.contains("wrong number of parameters"));
+}
+
+
 #[scope("/test")]
 mod scope_module {
     use actix_web::{delete, get, post, route, routes, web, HttpResponse, Responder};