thwill
 Guru
 Joined: 16/09/2019 Location: United KingdomPosts: 4370 |
| Posted: 02:21pm 13 Jan 2023 |
|
|
|
OK, you edited, and no, on some platforms that now throws an error.
This is the passing test code from when I checked about a week ago (but not with PicoMite):
Sub test_filesize_given_directory() If Mm.Device$ = "MMB4L" Then assert_int_equals(-2, Mm.Info(FileSize Mm.Info$(Directory))) assert_int_equals(-2, Mm.Info(FileSize Mm.Info$(Path))) assert_int_equals(-2, Mm.Info(FileSize "/")) assert_int_equals(-2, Mm.Info(FileSize "\")) assert_int_equals(-2, Mm.Info(FileSize ".")) assert_int_equals(-2, Mm.Info(FileSize "..")) assert_int_equals(-2, Mm.Info(FileSize "A:/")) assert_int_equals(-2, Mm.Info(FileSize "A:\")) assert_int_equals(-2, Mm.Info(FileSize "C:/")) assert_int_equals(-2, Mm.Info(FileSize "C:\")) assert_int_equals(-2, Mm.Info(FileSize str.replace$(TMP$, "/", "\"))) assert_int_equals(-2, Mm.Info(FileSize str.replace$(TMP$, "\", "/"))) assert_int_equals(-2, Mm.Info(FileSize str.replace$("A:" + TMP$, "/", "\"))) assert_int_equals(-2, Mm.Info(FileSize str.replace$("A:" + TMP$, "\", "/"))) assert_int_equals(-2, Mm.Info(FileSize str.replace$("C:" + TMP$, "/", "\"))) assert_int_equals(-2, Mm.Info(FileSize str.replace$("C:" + TMP$, "\", "/"))) Else assert_filesize_fails(Mm.Info$(Directory)) assert_filesize_fails(Mm.Info$(Path)) assert_filesize_fails("/") assert_filesize_fails("\") assert_int_equals(Choice(Mm.Device$ = "MMBasic for Windows", -2, -1), Mm.Info(FileSize ".")) assert_int_equals(Choice(Mm.Device$ = "MMBasic for Windows", -2, -1), Mm.Info(FileSize "..")) assert_filesize_fails("A:/") assert_filesize_fails("A:\") assert_filesize_fails("C:/") assert_filesize_fails("C:\") assert_int_equals(-2, Mm.Info(FileSize str.replace$(TMP$, "/", "\"))) assert_int_equals(-2, Mm.Info(FileSize str.replace$(TMP$, "\", "/"))) EndIf End Sub
Sub assert_filesize_fails(f$) On Error Skip 1 Local size% = Mm.Info(FileSize f$) assert_raw_error("Invalid file specification") On Error Clear End Sub
Best wishes,
Tom |