cargo-update 20.0.3

A cargo subcommand for checking and applying updates to installed executables
Documentation
use cargo_update::ops::RegistryPackage;
use semver::Version as Semver;


#[test]
fn main_registry() {
    assert_eq!(RegistryPackage::parse("cargo-count 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
                                      vec!["cc".to_string()]),
               Some(RegistryPackage {
                   name: "cargo-count".to_string(),
                   registry: "https://github.com/rust-lang/crates.io-index".into(),
                   version: Some(Semver::parse("0.2.2").unwrap()),
                   newest_version: None,
                   alternative_version: None,
                   max_version: None,
                   executables: vec!["cc".to_string()],
               }));
}

#[test]
fn alt_registry() {
    assert_eq!(RegistryPackage::parse("cargo-count 0.2.2 (registry+file:///usr/local/share/cargo)", vec!["cc".to_string()]),
               Some(RegistryPackage {
                   name: "cargo-count".to_string(),
                   registry: "file:///usr/local/share/cargo".into(),
                   version: Some(Semver::parse("0.2.2").unwrap()),
                   newest_version: None,
                   alternative_version: None,
                   max_version: None,
                   executables: vec!["cc".to_string()],
               }));
}

#[test]
fn git() {
    assert_eq!(RegistryPackage::parse("treesize 0.2.1 (git+https://github.com/melak47/treesize-rs#742aebb3e66bd14421eb148e7f7981d50c6d1423)",
                                      vec![]),
               None);
}

#[test]
fn invalid() {
    assert_eq!(RegistryPackage::parse("treesize 0.2.1 (gi", vec![]), None);
}