@@ -8,6 +8,7 @@ use diffutilslib::assert_diff_eq;
88use predicates:: prelude:: * ;
99use std:: fs:: File ;
1010use std:: io:: Write ;
11+ use std:: path:: PathBuf ;
1112use tempfile:: NamedTempFile ;
1213
1314// Integration tests for the diffutils command
@@ -238,42 +239,45 @@ fn read_from_stdin() -> Result<(), Box<dyn std::error::Error>> {
238239
239240#[ test]
240241fn read_from_directory ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
241- let target = "target/integration" ;
242- let _ = std:: fs:: create_dir ( target) ;
243- let directory = & format ! ( "{target}/d" ) ;
244- let _ = std:: fs:: create_dir ( directory) ;
245- let mut a = File :: create ( & format ! ( "{target}/a" ) ) . unwrap ( ) ;
242+ let target = PathBuf :: from ( "target/integration" ) ;
243+ let _ = std:: fs:: create_dir ( & target) ;
244+
245+ let directory = target. join ( "d" ) ;
246+ let _ = std:: fs:: create_dir ( & directory) ;
247+
248+ let a_path = target. join ( "a" ) ;
249+ let mut a = File :: create ( & a_path) . unwrap ( ) ;
246250 a. write_all ( b"a\n " ) . unwrap ( ) ;
247- let mut da = File :: create ( & format ! ( "{directory}/a" ) ) . unwrap ( ) ;
251+
252+ let da_path = directory. join ( "a" ) ;
253+ let mut da = File :: create ( & da_path) . unwrap ( ) ;
248254 da. write_all ( b"da\n " ) . unwrap ( ) ;
249255
250256 let mut cmd = Command :: cargo_bin ( "diffutils" ) ?;
251- cmd. arg ( "-u" )
252- . arg ( & format ! ( "{target}/d" ) )
253- . arg ( & format ! ( "{target}/a" ) ) ;
257+ cmd. arg ( "-u" ) . arg ( & directory) . arg ( & a_path) ;
254258 cmd. assert ( ) . code ( predicate:: eq ( 1 ) ) . failure ( ) ;
255259
256260 let output = cmd. output ( ) . unwrap ( ) . stdout ;
257261 assert_diff_eq ! (
258262 output,
259263 format!(
260- "--- {}/d/a\t TIMESTAMP\n +++ {}/a\t TIMESTAMP\n @@ -1 +1 @@\n -da\n +a\n " ,
261- target, target
264+ "--- {}\t TIMESTAMP\n +++ {}\t TIMESTAMP\n @@ -1 +1 @@\n -da\n +a\n " ,
265+ da_path. display( ) ,
266+ a_path. display( )
262267 )
263268 ) ;
264269
265270 let mut cmd = Command :: cargo_bin ( "diffutils" ) ?;
266- cmd. arg ( "-u" )
267- . arg ( & format ! ( "{target}/a" ) )
268- . arg ( & format ! ( "{target}/d" ) ) ;
271+ cmd. arg ( "-u" ) . arg ( & a_path) . arg ( & directory) ;
269272 cmd. assert ( ) . code ( predicate:: eq ( 1 ) ) . failure ( ) ;
270273
271274 let output = cmd. output ( ) . unwrap ( ) . stdout ;
272275 assert_diff_eq ! (
273276 output,
274277 format!(
275- "--- {}/a\t TIMESTAMP\n +++ {}/d/a\t TIMESTAMP\n @@ -1 +1 @@\n -a\n +da\n " ,
276- target, target
278+ "--- {}\t TIMESTAMP\n +++ {}\t TIMESTAMP\n @@ -1 +1 @@\n -a\n +da\n " ,
279+ a_path. display( ) ,
280+ da_path. display( )
277281 )
278282 ) ;
279283
0 commit comments