From cad934316f526cb618c09d60760854ab775039f6 Mon Sep 17 00:00:00 2001 From: konsti Date: Mon, 16 Sep 2024 12:25:46 +0200 Subject: [PATCH] Fix sourc distribution filename escaping (#7421) --- .../distribution-filename/src/source_dist.rs | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/crates/distribution-filename/src/source_dist.rs b/crates/distribution-filename/src/source_dist.rs index 99fecbb4f..8c3ebb31b 100644 --- a/crates/distribution-filename/src/source_dist.rs +++ b/crates/distribution-filename/src/source_dist.rs @@ -130,7 +130,13 @@ impl SourceDistFilename { impl Display for SourceDistFilename { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - write!(f, "{}-{}.{}", self.name, self.version, self.extension) + write!( + f, + "{}-{}.{}", + self.name.as_dist_info_name(), + self.version, + self.extension + ) } } @@ -173,14 +179,17 @@ mod tests { use crate::{SourceDistExtension, SourceDistFilename}; /// Only test already normalized names since the parsing is lossy + /// + /// + /// #[test] fn roundtrip() { for normalized in [ - "foo-lib-1.2.3.zip", - "foo-lib-1.2.3a3.zip", - "foo-lib-1.2.3.tar.gz", - "foo-lib-1.2.3.tar.bz2", - "foo-lib-1.2.3.tar.zst", + "foo_lib-1.2.3.zip", + "foo_lib-1.2.3a3.zip", + "foo_lib-1.2.3.tar.gz", + "foo_lib-1.2.3.tar.bz2", + "foo_lib-1.2.3.tar.zst", ] { let ext = SourceDistExtension::from_path(normalized).unwrap(); assert_eq!(