@@ -4,12 +4,17 @@ import gleam/set
4
4
import gleeunit
5
5
import gleeunit/should
6
6
import simplifile . {
7
- Eacces , Enoent , Execute , FilePermissions , NotUtf8 , Read , Write , append ,
8
- append_bits , copy_directory , copy_file , create_directory , create_directory_all ,
9
- create_file , create_symlink , delete , delete_all , file_info ,
10
- file_permissions_to_octal , get_files , is_directory , is_file , is_symlink , read ,
11
- read_bits , read_directory , rename_directory , rename_file , set_permissions ,
12
- set_permissions_octal , write , write_bits ,
7
+ Eacces , Eagain , Ebadf , Ebadmsg , Ebusy , Edeadlk , Edeadlock , Edquot , Eexist ,
8
+ Efault , Efbig , Eftype , Einval , Eio , Eisdir , Eloop , Emfile , Emlink , Emultihop ,
9
+ Enametoolong , Enfile , Enobufs , Enodev , Enoent , Enolck , Enolink , Enomem , Enospc ,
10
+ Enosr , Enostr , Enosys , Enotblk , Enotdir , Enotsup , Enxio , Eopnotsupp , Eoverflow ,
11
+ Eperm , Epipe , Erange , Erofs , Espipe , Esrch , Estale , Etxtbsy , Exdev , Execute ,
12
+ FilePermissions , NotUtf8 , Read , Unknown , Write , append , append_bits ,
13
+ copy_directory , copy_file , create_directory , create_directory_all , create_file ,
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 ,
13
18
}
14
19
15
20
pub fn main ( ) {
@@ -489,3 +494,108 @@ pub fn deno_symlink_error_test() {
489
494
create_symlink ( from : "./tmp/simulated" , to : "./tmp/target.txt" )
490
495
let assert Ok ( _ ) = delete ( "./tmp/simulated" )
491
496
}
497
+
498
+ pub fn describe_error_test ( ) {
499
+ let assert "Operation not permitted" = simplifile . describe_error ( Eperm )
500
+
501
+ let assert "No such file or directory" = simplifile . describe_error ( Enoent )
502
+
503
+ let assert "No such process" = simplifile . describe_error ( Esrch )
504
+
505
+ let assert "Input/output error" = simplifile . describe_error ( Eio )
506
+
507
+ let assert "Device not configured" = simplifile . describe_error ( Enxio )
508
+
509
+ let assert "Bad file descriptor" = simplifile . describe_error ( Ebadf )
510
+
511
+ let assert "Resource deadlock avoided" = simplifile . describe_error ( Edeadlk )
512
+
513
+ let assert "Resource deadlock avoided" = simplifile . describe_error ( Edeadlock )
514
+
515
+ let assert "Cannot allocate memory" = simplifile . describe_error ( Enomem )
516
+
517
+ let assert "Permission denied" = simplifile . describe_error ( Eacces )
518
+
519
+ let assert "Bad address" = simplifile . describe_error ( Efault )
520
+
521
+ let assert "Block device required" = simplifile . describe_error ( Enotblk )
522
+
523
+ let assert "Resource busy" = simplifile . describe_error ( Ebusy )
524
+
525
+ let assert "File exists" = simplifile . describe_error ( Eexist )
526
+
527
+ let assert "Cross-device link" = simplifile . describe_error ( Exdev )
528
+
529
+ let assert "Operation not supported by device" =
530
+ simplifile . describe_error ( Enodev )
531
+
532
+ let assert "Not a directory" = simplifile . describe_error ( Enotdir )
533
+
534
+ let assert "Is a directory" = simplifile . describe_error ( Eisdir )
535
+
536
+ let assert "Invalid argument" = simplifile . describe_error ( Einval )
537
+
538
+ let assert "Too many open files in system" = simplifile . describe_error ( Enfile )
539
+
540
+ let assert "Too many open files" = simplifile . describe_error ( Emfile )
541
+
542
+ let assert "Text file busy" = simplifile . describe_error ( Etxtbsy )
543
+
544
+ let assert "File too large" = simplifile . describe_error ( Efbig )
545
+
546
+ let assert "No space left on device" = simplifile . describe_error ( Enospc )
547
+
548
+ let assert "Illegal seek" = simplifile . describe_error ( Espipe )
549
+
550
+ let assert "Read-only file system" = simplifile . describe_error ( Erofs )
551
+
552
+ let assert "Too many links" = simplifile . describe_error ( Emlink )
553
+
554
+ let assert "Broken pipe" = simplifile . describe_error ( Epipe )
555
+
556
+ let assert "Result too large" = simplifile . describe_error ( Erange )
557
+
558
+ let assert "Resource temporarily unavailable" =
559
+ simplifile . describe_error ( Eagain )
560
+
561
+ let assert "Operation not supported" = simplifile . describe_error ( Enotsup )
562
+
563
+ let assert "No buffer space available" = simplifile . describe_error ( Enobufs )
564
+
565
+ let assert "Too many levels of symbolic links" =
566
+ simplifile . describe_error ( Eloop )
567
+
568
+ let assert "File name too long" = simplifile . describe_error ( Enametoolong )
569
+
570
+ let assert "Disc quota exceeded" = simplifile . describe_error ( Edquot )
571
+
572
+ let assert "Stale NFS file handle" = simplifile . describe_error ( Estale )
573
+
574
+ let assert "No locks available" = simplifile . describe_error ( Enolck )
575
+
576
+ let assert "Function not implemented" = simplifile . describe_error ( Enosys )
577
+
578
+ let assert "Inappropriate file type or format" =
579
+ simplifile . describe_error ( Eftype )
580
+
581
+ let assert "Value too large to be stored in data type" =
582
+ simplifile . describe_error ( Eoverflow )
583
+
584
+ let assert "Bad message" = simplifile . describe_error ( Ebadmsg )
585
+
586
+ let assert "Multihop attempted" = simplifile . describe_error ( Emultihop )
587
+
588
+ let assert "Link has been severed" = simplifile . describe_error ( Enolink )
589
+
590
+ let assert "No STREAM resources" = simplifile . describe_error ( Enosr )
591
+
592
+ let assert "Not a STREAM" = simplifile . describe_error ( Enostr )
593
+
594
+ let assert "Operation not supported on socket" =
595
+ simplifile . describe_error ( Eopnotsupp )
596
+
597
+ let assert "File not UTF-8 encoded" = simplifile . describe_error ( NotUtf8 )
598
+
599
+ let assert "Unknown error: Something went wrong" =
600
+ simplifile . describe_error ( Unknown ( "Something went wrong" ) )
601
+ }
0 commit comments