diff options
Diffstat (limited to 'crates/mozart/src/commands/create_project.rs')
| -rw-r--r-- | crates/mozart/src/commands/create_project.rs | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/crates/mozart/src/commands/create_project.rs b/crates/mozart/src/commands/create_project.rs index 08e146e..49354d1 100644 --- a/crates/mozart/src/commands/create_project.rs +++ b/crates/mozart/src/commands/create_project.rs @@ -838,149 +838,3 @@ async fn install_root_package( concrete_version, }) } - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_directory_from_package_name() { - assert_eq!(dir_from_package_name("vendor/package"), "package"); - assert_eq!(dir_from_package_name("monolog/monolog"), "monolog"); - assert_eq!(dir_from_package_name("symfony/console"), "console"); - // No slash: use entire string - assert_eq!(dir_from_package_name("novendor"), "novendor"); - } - - #[test] - fn test_non_empty_directory_rejected() { - let dir = tempfile::tempdir().unwrap(); - std::fs::write(dir.path().join("some-file.txt"), b"content").unwrap(); - assert!(is_dir_non_empty(dir.path())); - } - - #[test] - fn test_empty_directory_accepted() { - let dir = tempfile::tempdir().unwrap(); - assert!(!is_dir_non_empty(dir.path())); - } - - #[test] - fn test_self_version_replacement() { - let mut raw = package::RawPackageData::new("vendor/pkg".to_string()); - raw.require - .insert("vendor/dep-a".to_string(), "self.version".to_string()); - raw.require - .insert("vendor/dep-b".to_string(), "^1.0".to_string()); - raw.require_dev - .insert("vendor/dep-c".to_string(), "self.version".to_string()); - raw.conflict - .insert("some/conflict".to_string(), "self.version".to_string()); - raw.provide - .insert("some/provide".to_string(), "self.version".to_string()); - raw.replace - .insert("some/replace".to_string(), "self.version".to_string()); - - replace_self_version(&mut raw, "2.3.4"); - - assert_eq!(raw.require.get("vendor/dep-a").unwrap(), "2.3.4"); - assert_eq!(raw.require.get("vendor/dep-b").unwrap(), "^1.0"); - assert_eq!(raw.require_dev.get("vendor/dep-c").unwrap(), "2.3.4"); - assert_eq!(raw.conflict.get("some/conflict").unwrap(), "2.3.4"); - assert_eq!(raw.provide.get("some/provide").unwrap(), "2.3.4"); - assert_eq!(raw.replace.get("some/replace").unwrap(), "2.3.4"); - } - - #[test] - fn test_self_version_replacement_no_self_version() { - let mut raw = package::RawPackageData::new("vendor/pkg".to_string()); - raw.require - .insert("vendor/dep-a".to_string(), "^1.0".to_string()); - - replace_self_version(&mut raw, "2.3.4"); - - assert_eq!(raw.require.get("vendor/dep-a").unwrap(), "^1.0"); - } - - #[test] - fn test_resolve_stability_explicit() { - let (s, e) = resolve_stability(Some("dev"), None).unwrap(); - assert_eq!(s, "dev"); - assert_eq!(e, Stability::Dev); - - let (s, e) = resolve_stability(Some("RC"), None).unwrap(); - assert_eq!(s, "RC"); - assert_eq!(e, Stability::RC); - - // case-insensitive - let (s, _) = resolve_stability(Some("BETA"), None).unwrap(); - assert_eq!(s, "beta"); - } - - #[test] - fn test_resolve_stability_invalid() { - let err = resolve_stability(Some("garbage"), None).unwrap_err(); - let msg = format!("{err}"); - assert!(msg.contains("Invalid stability provided (garbage)")); - assert!(msg.contains("must be one of")); - } - - #[test] - fn test_resolve_stability_default() { - let (s, e) = resolve_stability(None, None).unwrap(); - assert_eq!(s, "stable"); - assert_eq!(e, Stability::Stable); - } - - #[test] - fn test_resolve_stability_from_at_suffix() { - let (s, e) = resolve_stability(None, Some("^2.0@beta")).unwrap(); - assert_eq!(s, "beta"); - assert_eq!(e, Stability::Beta); - - let (s, _) = resolve_stability(None, Some("1.0.0@dev")).unwrap(); - assert_eq!(s, "dev"); - } - - #[test] - fn test_resolve_stability_from_version_suffix() { - let (s, _) = resolve_stability(None, Some("1.0.0-beta1")).unwrap(); - assert_eq!(s, "beta"); - let (s, _) = resolve_stability(None, Some("dev-master")).unwrap(); - assert_eq!(s, "dev"); - let (s, _) = resolve_stability(None, Some("1.0.0")).unwrap(); - assert_eq!(s, "stable"); - } - - #[test] - fn test_version_satisfies_constraint_via_semver() { - assert!(version_satisfies_constraint("1.2.0", "^1.0")); - assert!(version_satisfies_constraint("1.9.9", "^1.0")); - assert!(!version_satisfies_constraint("2.0.0", "^1.0")); - assert!(!version_satisfies_constraint("0.9.0", "^1.0")); - - assert!(version_satisfies_constraint("1.2.3", "1.2.3")); - assert!(!version_satisfies_constraint("1.2.4", "1.2.3")); - - assert!(version_satisfies_constraint("1.2.0", ">=1.0.0")); - assert!(version_satisfies_constraint("2.0.0", ">=1.0.0")); - assert!(!version_satisfies_constraint("0.9.0", ">=1.0.0")); - - // Stability flag attached to the constraint should not break parsing. - assert!(version_satisfies_constraint("2.0.0", "^2.0@beta")); - } - - #[test] - fn test_shortest_path_inside_cwd() { - let cwd = PathBuf::from("/home/me/projects"); - let dir = cwd.join("foo"); - assert_eq!(shortest_path(&cwd, &dir), "foo"); - } - - #[test] - fn test_shortest_path_outside_cwd() { - let cwd = PathBuf::from("/home/me/projects"); - let dir = PathBuf::from("/elsewhere/bar"); - assert_eq!(shortest_path(&cwd, &dir), "/elsewhere/bar"); - } -} |
