From 8e07e059142c315b9b534a46ad433217a0b271a2 Mon Sep 17 00:00:00 2001 From: George Lydakis Date: Wed, 28 Oct 2026 08:15:29 -0400 Subject: [PATCH] Fix wrapped file-link release test and prepare 0.5.1 --- Cargo.lock | 6 +++--- Cargo.toml | 2 +- client/Cargo.toml | 2 +- sonny/Cargo.toml | 2 +- sonny/src/links.rs | 18 ++++++++++++------ 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 36602a19..7e063864 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,7 +19,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "agent-client" -version = "0.5.0" +version = "0.5.1" dependencies = [ "libc", "reqwest", @@ -30,7 +30,7 @@ dependencies = [ [[package]] name = "agent-runtime" -version = "0.5.0" +version = "0.5.1" dependencies = [ "agent-client", "aws-lc-rs", @@ -2486,7 +2486,7 @@ dependencies = [ [[package]] name = "sonny" -version = "0.5.0" +version = "0.5.1" dependencies = [ "agent-client", "base64 0.22.1", diff --git a/Cargo.toml b/Cargo.toml index f991e84e..6bfb13f6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "agent-runtime" -version = "0.5.0" +version = "0.5.1" edition = "2024" rust-version = "1.92" license = "MIT OR Apache-2.0" diff --git a/client/Cargo.toml b/client/Cargo.toml index 03d5408a..184b5c28 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "agent-client" -version = "0.5.0" +version = "0.5.1" edition = "2024" rust-version = "1.92" license = "MIT OR Apache-2.0" diff --git a/sonny/Cargo.toml b/sonny/Cargo.toml index d621c647..1a41a022 100644 --- a/sonny/Cargo.toml +++ b/sonny/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sonny" -version = "0.5.0" +version = "0.5.1" edition = "2024" rust-version = "1.92" license = "MIT OR Apache-2.0" diff --git a/sonny/src/links.rs b/sonny/src/links.rs index 9039383f..3e23a366 100644 --- a/sonny/src/links.rs +++ b/sonny/src/links.rs @@ -440,8 +440,8 @@ mod tests { std::fs::write(dir.join("src/main.rs"), "").unwrap(); std::fs::write(dir.join("a b.md"), "").unwrap(); let main = format!("file://{}/src/main.rs", dir.display()); - let opens = |text: &str| { - let (buf, cut) = markdown(text, 80); + let opens = |text: &str, width: usize| { + let (buf, cut) = markdown(text, width); cells(&buf, &cut, |word| file(&dir, word)) .iter() .filter_map(|(x, _, cell)| { @@ -451,15 +451,21 @@ mod tests { .collect::>() }; // In code, with a line after it; and a markdown link's text. - assert_eq!(opens("In `src/main.rs:12:3`, done."), [(5, main.clone())]); assert_eq!( - opens("See [main](src/main.rs)."), + opens("In `src/main.rs:12:3`, done.", 80), + [(5, main.clone())] + ); + assert_eq!( + opens("See [main](src/main.rs).", 80), [(6, main.clone()), (12, main.clone())] ); let absolute = format!("{}/src/main.rs#L4", dir.display()); - assert_eq!(opens(&absolute), [(2, main)]); + assert_eq!(opens(&absolute, absolute.len() + 2), [(2, main.clone())]); + let wrapped = opens(&absolute, 20); + assert!(wrapped.len() > 1, "the path wraps over several rows"); + assert!(wrapped.iter().all(|(x, target)| *x == 2 && target == &main)); // Not there, not a path, or only part of a word. - assert!(opens("src/gone.rs, e.g. 0.4.1 and .. or ./").is_empty()); + assert!(opens("src/gone.rs, e.g. 0.4.1 and .. or ./", 80).is_empty()); assert_eq!( file(&dir, "a b.md"), Some(format!("file://{}/a%20b.md", dir.display()))