io.files.unique: Make sure the files are the same except for the suffix. Add unit test. Fix paths typo.

locals-and-roots
Doug Coleman 2016-05-25 17:44:13 -07:00
parent e364f1ebf1
commit a399439a5f
2 changed files with 11 additions and 3 deletions

View File

@ -47,3 +47,11 @@ IN: io.files.unique.tests
] with-unique-directory drop ] with-unique-directory drop
] with-temp-directory ] with-temp-directory
] unit-test ] unit-test
{ 29 } [
[
"unique-files-" { "-test.0" "-test.1" } [
[ file-name ] map first2 mismatch
] cleanup-unique-files
] with-temp-directory
] unit-test

View File

@ -38,8 +38,8 @@ PRIVATE>
: unique-files ( prefix suffixes -- paths ) : unique-files ( prefix suffixes -- paths )
'[ '[
_ _ [ _ _ random-file-name '[
random-file-name glue _ glue
dup touch-unique-file dup touch-unique-file
] with map ] with map
] unique-retries get retry [ absolute-path ] map ; ] unique-retries get retry [ absolute-path ] map ;
@ -48,7 +48,7 @@ PRIVATE>
prefix suffix unique-file :> path prefix suffix unique-file :> path
[ path quot call ] [ path delete-file ] [ ] cleanup ; inline [ path quot call ] [ path delete-file ] [ ] cleanup ; inline
:: cleanup-unique-files ( ..a prefix suffixes quot: ( ..a path -- ..b ) -- ..b ) :: cleanup-unique-files ( ..a prefix suffixes quot: ( ..a paths -- ..b ) -- ..b )
prefix suffixes unique-files :> paths prefix suffixes unique-files :> paths
[ paths quot call ] [ paths [ delete-file ] each ] [ ] cleanup ; inline [ paths quot call ] [ paths [ delete-file ] each ] [ ] cleanup ; inline