1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
use npm_package_json::{Bug, Package, Repository, RepositoryReference};
use std::str::FromStr;
#[test]
fn test_de_minimal() {
let s = include_str!("./minimal.json");
let package = Package::from_str(s).unwrap();
assert_eq!(package.name, "my-awesome-package");
assert_eq!(package.version, "1.0.0");
}
#[test]
fn test_de_default() {
let s = include_str!("./default.json");
let package = Package::from_str(s).unwrap();
let git_url = "https://github.com/<user>/my_package.git";
assert_eq!(package.name, "my_package");
assert_eq!(package.version, "1.0.0");
assert!(package.description.unwrap().is_empty());
assert_eq!(package.main.unwrap(), "index.js");
assert_eq!(
package.repository.unwrap(),
RepositoryReference::Full(Repository {
r#type: "git".to_string(),
url: git_url.to_string(),
..Default::default()
})
);
assert!(package.keywords.is_empty());
assert_eq!(package.license.unwrap(), "ISC");
assert_eq!(
package.bugs.unwrap(),
Bug {
email: None,
url: Some("https://github.com/<user>/my_package/issues".to_string())
}
);
assert_eq!(
package.homepage.unwrap(),
git_url.trim_end_matches(".git").to_string()
);
}
|