diff --git a/axum/src/routing/tests/merge.rs b/axum/src/routing/tests/merge.rs index 7ff34a77465..a8c69fa890c 100644 --- a/axum/src/routing/tests/merge.rs +++ b/axum/src/routing/tests/merge.rs @@ -500,3 +500,18 @@ async fn merging_routes_different_paths_different_states() { assert_eq!(res.status(), StatusCode::OK); assert_eq!(res.text().await, "bar state"); } + +#[tokio::test] +async fn inherit_state_via_merge() { + let foo = Router::inherit_state().route( + "/foo", + get(|State(state): State<&'static str>| async move { state }), + ); + + let app = Router::with_state("state").merge(foo); + let client = TestClient::new(app); + + let res = client.get("/foo").send().await; + assert_eq!(res.status(), StatusCode::OK); + assert_eq!(res.text().await, "state"); +}