From 10877383ed2589a9b2107edc6e033450c105c0d7 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 14 Mar 2026 00:58:33 +0000 Subject: [PATCH 1/2] test: add tests for name_from_url Adds a `#[cfg(test)] mod tests` block to `src/utilities.rs` covering both the missing error path (empty URL input) and several happy paths for `name_from_url`, including trailing slashes and `.git` suffixes. Co-authored-by: bashandbone <89049923+bashandbone@users.noreply.github.com> --- src/utilities.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/utilities.rs b/src/utilities.rs index 8b5e054..1b49f1d 100644 --- a/src/utilities.rs +++ b/src/utilities.rs @@ -226,3 +226,21 @@ pub(crate) fn get_name( Err(anyhow::anyhow!("No valid name source provided")) } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_name_from_url() { + // Happy paths + assert_eq!(name_from_url("https://github.com/user/repo").unwrap(), "repo"); + assert_eq!(name_from_url("https://github.com/user/repo.git").unwrap(), "repo"); + assert_eq!(name_from_url("https://github.com/user/repo/").unwrap(), "repo"); + assert_eq!(name_from_url("git@github.com:user/repo.git").unwrap(), "repo"); + + // Error paths + let err = name_from_url("").unwrap_err(); + assert_eq!(err.to_string(), "URL cannot be empty"); + } +} From c3c15a9c3ea5c43b1d7ef4c8bdf3ba112dbbcdbc Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 14 Mar 2026 01:07:18 +0000 Subject: [PATCH 2/2] test: add tests for name_from_url Adds a `#[cfg(test)] mod tests` block to `src/utilities.rs` covering both the missing error path (empty URL input) and several happy paths for `name_from_url`, including trailing slashes and `.git` suffixes. Co-authored-by: bashandbone <89049923+bashandbone@users.noreply.github.com>