mirror of
https://github.com/veeso/termscp.git
synced 2025-12-07 09:36:00 -08:00
Fixed version comparison when going above 0.9
This commit is contained in:
@@ -96,7 +96,7 @@ impl Update {
|
||||
new_version,
|
||||
cargo_crate_version!()
|
||||
);
|
||||
if new_version.as_str() > cargo_crate_version!() {
|
||||
if Self::is_new_version_higher(new_version.as_str(), cargo_crate_version!()) {
|
||||
Some(r) // New version is available
|
||||
} else {
|
||||
None // No new version
|
||||
@@ -105,6 +105,12 @@ impl Update {
|
||||
None => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Check wether new version is higher than new version
|
||||
fn is_new_version_higher(new_version: &str, current_version: &str) -> bool {
|
||||
version_compare::compare(new_version, current_version).unwrap_or(version_compare::Cmp::Lt)
|
||||
== version_compare::Cmp::Gt
|
||||
}
|
||||
}
|
||||
impl From<Status> for UpdateStatus {
|
||||
fn from(s: Status) -> Self {
|
||||
@@ -193,4 +199,13 @@ mod test {
|
||||
assert_eq!(release.body.as_str(), "fixed everything");
|
||||
assert_eq!(release.version.as_str(), "0.7.0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn should_tell_that_version_is_higher() {
|
||||
assert!(Update::is_new_version_higher("0.10.0", "0.9.0"));
|
||||
assert!(Update::is_new_version_higher("0.20.0", "0.19.0"));
|
||||
assert!(!Update::is_new_version_higher("0.9.0", "0.10.0"));
|
||||
assert!(!Update::is_new_version_higher("0.9.9", "0.10.1"));
|
||||
assert!(!Update::is_new_version_higher("0.10.9", "0.11.0"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user