use binstalk::ops::resolve::load_manifest_path; use cargo_toml_workspace::cargo_toml::{Edition, Product}; use std::path::PathBuf; #[test] fn parse_meta() { let mut manifest_dir = PathBuf::from(std::env::var_os("CARGO_MANIFEST_DIR").unwrap()); manifest_dir.push("tests/parse-meta.Cargo.toml"); let manifest = load_manifest_path(&manifest_dir, "cargo-binstall-test").expect("Error parsing metadata"); let package = manifest.package.unwrap(); let meta = package.metadata.and_then(|m| m.binstall).unwrap(); assert_eq!(&package.name, "cargo-binstall-test"); assert_eq!( meta.pkg_url.as_deref().unwrap(), "{ repo }/releases/download/v{ version }/{ name }-{ target }.{ archive-format }" ); assert_eq!( manifest.bin.as_slice(), &[Product { name: Some("cargo-binstall".to_string()), path: Some("src/main.rs".to_string()), edition: Edition::E2021, ..Default::default() },], ); }