From 14d0d3fa13cb589fa750a4da2cf7e9cb8c01e312 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 2 Jul 2024 12:29:13 +0300 Subject: [PATCH 1/3] Add passing test case for current functionality --- rust/src/project.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/rust/src/project.rs b/rust/src/project.rs index 6f5f049..3b26e1e 100644 --- a/rust/src/project.rs +++ b/rust/src/project.rs @@ -716,6 +716,31 @@ mod tests { true, (3, 12), )] + #[case::project_platform_dependencies( + indoc ! {r#" + [project] + dependencies = [ + 'pyperclip; platform_system == "Darwin"', + 'pyperclip; platform_system == "Windows"', + "appdirs" + ] + requires-python = "==3.12" + "#}, + indoc ! {r#" + [project] + requires-python = "==3.12" + classifiers = [ + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.12", + ] + dependencies = [ + "appdirs", + "pyperclip; platform_system=='Windows'", + ] + "#}, + true, + (3, 12), + )] #[case::project_opt_inline_dependencies( indoc ! {r#" [project] From d0a23ddd5f152fd3d8cc10d1fc70eb10a4613738 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 2 Jul 2024 12:29:24 +0300 Subject: [PATCH 2/3] Add failing test case --- rust/src/project.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/rust/src/project.rs b/rust/src/project.rs index 3b26e1e..8420589 100644 --- a/rust/src/project.rs +++ b/rust/src/project.rs @@ -735,6 +735,7 @@ mod tests { ] dependencies = [ "appdirs", + "pyperclip; platform_system=='Darwin'", "pyperclip; platform_system=='Windows'", ] "#}, From 7f5a3cca65216a1e8c4b12c48a70126cf89360cc Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:09:34 +0300 Subject: [PATCH 3/3] Don't sort and de-duplicate based on canonical name only --- rust/src/project.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/src/project.rs b/rust/src/project.rs index 8420589..44c4ac0 100644 --- a/rust/src/project.rs +++ b/rust/src/project.rs @@ -55,7 +55,7 @@ pub fn fix( } "dependencies" | "optional-dependencies" => { transform(entry, &|s| format_requirement(s, keep_full_version)); - sort(entry, |e| get_canonic_requirement_name(e).to_lowercase()); + sort(entry, |e| get_canonic_requirement_name(e).to_lowercase() + " " + &format_requirement(e, keep_full_version)); } "dynamic" | "keywords" => { transform(entry, &|s| String::from(s));