@@ -4,8 +4,8 @@ use std::process::Command;
44use std:: time:: { SystemTime , UNIX_EPOCH } ;
55
66use chrono:: { DateTime , Utc } ;
7- use semver:: { BuildMetadata , Prerelease , Version } ;
87use n0_error:: { Result , StackResultExt , StdResultExt } ;
8+ use semver:: { BuildMetadata , Prerelease , Version } ;
99use serde:: { Deserialize , Serialize } ;
1010
1111use crate :: Repo ;
@@ -289,12 +289,10 @@ impl UpdateChecker {
289289 let releases: Vec < GitHubRelease > = response. json ( ) . await . anyerr ( ) ?;
290290
291291 let channel = settings. update_channel ;
292- let release = select_release_for_channel (
293- releases,
294- channel,
295- & self . current_version ,
296- |assets| Self :: try_find_platform_asset ( assets) . is_some ( ) ,
297- ) ;
292+ let release =
293+ select_release_for_channel ( releases, channel, & self . current_version , |assets| {
294+ Self :: try_find_platform_asset ( assets) . is_some ( )
295+ } ) ;
298296
299297 // Update last check time
300298 let mut settings = settings;
@@ -375,9 +373,9 @@ impl UpdateChecker {
375373
376374 /// Find the appropriate binary asset for the current platform
377375 fn find_platform_asset < ' a > ( & self , assets : & ' a [ GitHubAsset ] ) -> Result < & ' a GitHubAsset > {
378- Self :: try_find_platform_asset ( assets) . ok_or_else ( || {
379- IoError :: new ( ErrorKind :: NotFound , "No asset found for platform" )
380- } ) . anyerr ( )
376+ Self :: try_find_platform_asset ( assets)
377+ . ok_or_else ( || IoError :: new ( ErrorKind :: NotFound , "No asset found for platform" ) )
378+ . anyerr ( )
381379 }
382380
383381 /// Download the update binary to a temporary location
@@ -756,12 +754,7 @@ mod tests {
756754 }
757755 }
758756
759- fn gh_release (
760- tag : & str ,
761- draft : bool ,
762- prerelease : bool ,
763- with_asset : bool ,
764- ) -> GitHubRelease {
757+ fn gh_release ( tag : & str , draft : bool , prerelease : bool , with_asset : bool ) -> GitHubRelease {
765758 GitHubRelease {
766759 tag_name : tag. to_string ( ) ,
767760 name : format ! ( "Release {tag}" ) ,
@@ -845,7 +838,8 @@ mod tests {
845838 gh_release( "v3.0.0" , false , false , false ) ,
846839 gh_release( "v2.0.0" , false , false , true ) ,
847840 ] ;
848- let picked = select_release_for_channel ( releases, UpdateChannel :: Stable , "1.0.0" , |a| !a. is_empty ( ) ) ;
841+ let picked =
842+ select_release_for_channel ( releases, UpdateChannel :: Stable , "1.0.0" , |a| !a. is_empty ( ) ) ;
849843 assert_eq ! ( picked. unwrap( ) . tag_name, "v2.0.0" ) ;
850844 }
851845
@@ -858,9 +852,18 @@ mod tests {
858852
859853 #[ test]
860854 fn newer_orders_prerelease_suffixes ( ) {
861- assert ! ( UpdateChecker :: is_newer_version( "1.0.0-beta.2" , "1.0.0-beta.1" ) ) ;
862- assert ! ( !UpdateChecker :: is_newer_version( "1.0.0-beta.1" , "1.0.0-beta.2" ) ) ;
863- assert ! ( UpdateChecker :: is_newer_version( "1.0.0-rc.1" , "1.0.0-beta.99" ) ) ;
855+ assert ! ( UpdateChecker :: is_newer_version(
856+ "1.0.0-beta.2" ,
857+ "1.0.0-beta.1"
858+ ) ) ;
859+ assert ! ( !UpdateChecker :: is_newer_version(
860+ "1.0.0-beta.1" ,
861+ "1.0.0-beta.2"
862+ ) ) ;
863+ assert ! ( UpdateChecker :: is_newer_version(
864+ "1.0.0-rc.1" ,
865+ "1.0.0-beta.99"
866+ ) ) ;
864867 }
865868
866869 #[ test]
@@ -873,6 +876,9 @@ mod tests {
873876 fn newer_accepts_v_prefix_build_metadata_ignored ( ) {
874877 assert ! ( UpdateChecker :: is_newer_version( "v1.2.4" , "1.2.3" ) ) ;
875878 // SemVer: build metadata does not affect precedence
876- assert ! ( !UpdateChecker :: is_newer_version( "1.2.3+build2" , "1.2.3+build1" ) ) ;
879+ assert ! ( !UpdateChecker :: is_newer_version(
880+ "1.2.3+build2" ,
881+ "1.2.3+build1"
882+ ) ) ;
877883 }
878884}
0 commit comments