11// tests/cli.rs
22//! Trait Winnower CLI tests.
33
4- use assert_cmd:: Command ;
4+ use assert_cmd:: { Command , cargo } ;
55use assert_fs:: assert:: PathAssert ;
66use assert_fs:: fixture:: FileWriteStr ;
77use assert_fs:: fixture:: PathChild ;
@@ -11,9 +11,13 @@ use trait_winnower::config::Config;
1111
1212type TestResult = Result < ( ) , Box < dyn std:: error:: Error > > ;
1313
14+ fn tw_cmd ( ) -> Command {
15+ Command :: new ( cargo:: cargo_bin!( "trait-winnower" ) )
16+ }
17+
1418#[ test]
1519fn dies_no_args ( ) -> TestResult {
16- let mut cmd = Command :: cargo_bin ( "trait-winnower" ) ? ;
20+ let mut cmd = tw_cmd ( ) ;
1721 cmd. env ( "CLICOLOR" , "0" ) ;
1822
1923 cmd. assert ( )
@@ -26,14 +30,10 @@ fn dies_no_args() -> TestResult {
2630}
2731
2832#[ test]
29- fn init_writes_default_config_in_cwd ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
33+ fn init_writes_default_config_in_cwd ( ) -> TestResult {
3034 let tmp = assert_fs:: TempDir :: new ( ) ?;
3135
32- Command :: cargo_bin ( "trait-winnower" ) ?
33- . current_dir ( & tmp)
34- . arg ( "init" )
35- . assert ( )
36- . success ( ) ;
36+ tw_cmd ( ) . current_dir ( & tmp) . arg ( "init" ) . assert ( ) . success ( ) ;
3737
3838 let cfg_path = tmp. child ( ".trait-winnower.toml" ) ;
3939 cfg_path. assert ( predicates:: path:: exists ( ) ) ;
@@ -49,14 +49,14 @@ fn init_writes_default_config_in_cwd() -> Result<(), Box<dyn std::error::Error>>
4949}
5050
5151#[ test]
52- fn check_dry_run_on_crate_root_succeeds ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
52+ fn check_dry_run_on_crate_root_succeeds ( ) -> TestResult {
5353 let tmp = assert_fs:: TempDir :: new ( ) ?;
5454 tmp. child ( "Cargo.toml" )
5555 . write_str ( "[package]\n name=\" x\" \n version=\" 0.1.0\" \n " ) ?;
5656 tmp. child ( "src" ) . create_dir_all ( ) ?;
5757 tmp. child ( "src/lib.rs" ) . write_str ( "// lib\n " ) ?;
5858
59- Command :: cargo_bin ( "trait-winnower" ) ?
59+ tw_cmd ( )
6060 . current_dir ( & tmp)
6161 . args ( [ "check" , "." ] )
6262 . assert ( )
@@ -67,14 +67,14 @@ fn check_dry_run_on_crate_root_succeeds() -> Result<(), Box<dyn std::error::Erro
6767}
6868
6969#[ test]
70- fn prune_dry_run_on_crate_root_succeeds ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
70+ fn prune_dry_run_on_crate_root_succeeds ( ) -> TestResult {
7171 let tmp = assert_fs:: TempDir :: new ( ) ?;
7272 tmp. child ( "Cargo.toml" )
7373 . write_str ( "[package]\n name=\" x\" \n version=\" 0.1.0\" \n " ) ?;
7474 tmp. child ( "src" ) . create_dir_all ( ) ?;
7575 tmp. child ( "src/lib.rs" ) . write_str ( "// lib\n " ) ?;
7676
77- Command :: cargo_bin ( "trait-winnower" ) ?
77+ tw_cmd ( )
7878 . current_dir ( & tmp)
7979 . args ( [ "prune" , "." ] )
8080 . assert ( )
0 commit comments