in tools/publisher/src/subcommand/fix_manifests.rs [228:297]
fn test_fix_dep_sets() {
let manifest = br#"
[package]
name = "test"
version = "1.2.0-preview"
[build-dependencies]
build_something = "1.3"
local_build_something = { path = "../local_build_something", version = "0.4.0-different" }
[dev-dependencies]
dev_something = "1.1"
local_dev_something = { path = "../local_dev_something" }
[dependencies]
something = "1.0"
local_something = { path = "../local_something" }
"#;
let metadata = toml::from_slice(manifest).unwrap();
let mut manifest = Manifest {
path: "test".into(),
metadata,
};
let versions = vec![
("local_build_something", "0.2.0"),
("local_dev_something", "0.1.0"),
("local_something", "1.1.3"),
]
.into_iter()
.map(|e| (e.0.to_string(), Version::parse(e.1).unwrap()))
.collect();
fix_dep_sets(&versions, &mut manifest.metadata).expect("success");
let actual_deps = &manifest.metadata["dependencies"];
assert_eq!(
"\
something = \"1.0\"\n\
\n\
[local_something]\n\
path = \"../local_something\"\n\
version = \"1.1.3\"\n\
",
actual_deps.to_string()
);
let actual_dev_deps = &manifest.metadata["dev-dependencies"];
assert_eq!(
"\
dev_something = \"1.1\"\n\
\n\
[local_dev_something]\n\
path = \"../local_dev_something\"\n\
version = \"0.1.0\"\n\
",
actual_dev_deps.to_string()
);
let actual_build_deps = &manifest.metadata["build-dependencies"];
assert_eq!(
"\
build_something = \"1.3\"\n\
\n\
[local_build_something]\n\
path = \"../local_build_something\"\n\
version = \"0.2.0\"\n\
",
actual_build_deps.to_string()
);
}