From 93cd8bd8daa8b864a67fa7dbbb711a38bdd5aa05 Mon Sep 17 00:00:00 2001 From: Mustafa Zaki Assagaf Date: Wed, 18 Dec 2024 20:06:14 +0700 Subject: [PATCH] fix: catch-all paths replace double underscore with single underscore (#229) --- crates/tuono/src/route.rs | 2 +- crates/tuono/tests/cli_tests.rs | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/crates/tuono/src/route.rs b/crates/tuono/src/route.rs index 214bf8f6..5255dbfd 100644 --- a/crates/tuono/src/route.rs +++ b/crates/tuono/src/route.rs @@ -52,7 +52,7 @@ impl AxumInfo { .replace('/', "_") .replace('-', "_hyphen_") .replace('[', "dyn_") - .replace("...", "_catch_all_") + .replace("...", "catch_all_") .replace(']', ""), axum_route: axum_route .replace("[...", "*") diff --git a/crates/tuono/tests/cli_tests.rs b/crates/tuono/tests/cli_tests.rs index 215d97df..5bc194b1 100644 --- a/crates/tuono/tests/cli_tests.rs +++ b/crates/tuono/tests/cli_tests.rs @@ -120,19 +120,23 @@ fn it_successfully_create_catch_all_routes() { fs::read_to_string(&temp_main_rs_path).expect("Failed to read '.tuono/main.rs' content."); assert!(temp_main_rs_content.contains(r#"#[path="../src/routes/api/[...all_apis].rs"]"#)); - assert!(temp_main_rs_content.contains("mod api_dyn__catch_all_all_apis;")); + assert!(temp_main_rs_content.contains("mod api_dyn_catch_all_all_apis;")); assert!(temp_main_rs_content.contains(r#"#[path="../src/routes/[...all_routes].rs"]"#)); - assert!(temp_main_rs_content.contains("mod dyn__catch_all_all_routes;")); + assert!(temp_main_rs_content.contains("mod dyn_catch_all_all_routes;")); assert!(temp_main_rs_content.contains( - r#".route("/api/*all_apis", post(api_dyn__catch_all_all_apis::post__tuono_internal_api))"# + r#".route("/api/*all_apis", post(api_dyn_catch_all_all_apis::post__tuono_internal_api))"# )); assert!(temp_main_rs_content.contains( - r#".route("/*all_routes", get(dyn__catch_all_all_routes::tuono__internal__route))"# + r#".route("/*all_routes", get(dyn_catch_all_all_routes::tuono__internal__route))"# + )); + + assert!(temp_main_rs_content.contains( + r#".route("/*all_routes", get(dyn_catch_all_all_routes::tuono__internal__route))"# )); assert!(temp_main_rs_content - .contains(r#".route("/__tuono/data/*all_routes", get(dyn__catch_all_all_routes::tuono__internal__api))"#)); + .contains(r#".route("/__tuono/data/*all_routes", get(dyn_catch_all_all_routes::tuono__internal__api))"#)); }