@@ -12,9 +12,9 @@ import simplifile.{
12
12
FilePermissions , NotUtf8 , Read , Unknown , Write , append , append_bits ,
13
13
copy_directory , copy_file , create_directory , create_directory_all , create_file ,
14
14
create_symlink , delete , delete_all , file_info , file_permissions_to_octal ,
15
- get_files , is_directory , is_file , is_symlink , read , read_bits , read_directory ,
16
- rename_directory , rename_file , set_permissions , set_permissions_octal , write ,
17
- write_bits ,
15
+ get_files , is_directory , is_file , is_symlink , link_info , read , read_bits ,
16
+ read_directory , rename_directory , rename_file , set_permissions ,
17
+ set_permissions_octal , write , write_bits ,
18
18
}
19
19
20
20
pub fn main ( ) {
@@ -473,6 +473,27 @@ pub fn file_info_test() {
473
473
let assert Ok ( _info ) = file_info ( "./test.sh" )
474
474
}
475
475
476
+ pub fn link_info_test ( ) {
477
+ let target_path = "./tmp/the_target"
478
+ let symlink_path = "./tmp/the_symlink"
479
+ let target_relative_to_symlink = "the_target"
480
+
481
+ let assert Ok ( _ ) = write ( to : target_path , contents : "Wibble" )
482
+ let assert Ok ( _ ) = create_symlink ( target_relative_to_symlink , symlink_path )
483
+
484
+ let assert Ok ( lstat ) = link_info ( symlink_path )
485
+ let assert Ok ( stat ) = file_info ( symlink_path )
486
+
487
+ stat
488
+ |> should . not_equal ( lstat )
489
+
490
+ stat . size
491
+ |> should . equal ( 6 )
492
+
493
+ lstat . size
494
+ |> should . not_equal ( 6 )
495
+ }
496
+
476
497
/// I visually inspected this info to make sure it matched on all targets.
477
498
/// TODO: Add a better test setup for validating file info functionality.
478
499
pub fn clear_directory_test ( ) {
0 commit comments