| ... | @@ -274,6 +274,32 @@ test "file operations on directories" { | ... | @@ -274,6 +274,32 @@ test "file operations on directories" { |
| 274 | dir.close(); | 274 | dir.close(); |
| 275 | } | 275 | } |
| 276 | | 276 | |
| | 277 | test "deleteDir" { |
| | 278 | var tmp_dir = tmpDir(.{}); |
| | 279 | defer tmp_dir.cleanup(); |
| | 280 | |
| | 281 | // deleting a non-existent directory |
| | 282 | testing.expectError(error.FileNotFound, tmp_dir.dir.deleteDir("test_dir")); |
| | 283 | |
| | 284 | var dir = try tmp_dir.dir.makeOpenPath("test_dir", .{}); |
| | 285 | var file = try dir.createFile("test_file", .{}); |
| | 286 | file.close(); |
| | 287 | dir.close(); |
| | 288 | |
| | 289 | // deleting a non-empty directory |
| | 290 | // TODO: Re-enable this check on Windows, see https://github.com/ziglang/zig/issues/5537 |
| | 291 | if (builtin.os.tag != .windows) { |
| | 292 | testing.expectError(error.DirNotEmpty, tmp_dir.dir.deleteDir("test_dir")); |
| | 293 | } |
| | 294 | |
| | 295 | dir = try tmp_dir.dir.openDir("test_dir", .{}); |
| | 296 | try dir.deleteFile("test_file"); |
| | 297 | dir.close(); |
| | 298 | |
| | 299 | // deleting an empty directory |
| | 300 | try tmp_dir.dir.deleteDir("test_dir"); |
| | 301 | } |
| | 302 | |
| 277 | test "Dir.rename files" { | 303 | test "Dir.rename files" { |
| 278 | var tmp_dir = tmpDir(.{}); | 304 | var tmp_dir = tmpDir(.{}); |
| 279 | defer tmp_dir.cleanup(); | 305 | defer tmp_dir.cleanup(); |