diff --git a/nativefs.lua b/nativefs.lua index eb07d26..500d455 100644 --- a/nativefs.lua +++ b/nativefs.lua @@ -426,18 +426,20 @@ local function withTempMount(dir, fn) end function nativefs.getDirectoryItems(dir, callback) - return withTempMount(dir, function(mount) + local result, err = withTempMount(dir, function(mount) return love.filesystem.getDirectoryItems(mount, callback) end) + return result or {} end function nativefs.getInfo(path, filtertype) local dir = path:match("(.*[\\/]).*$") or './' local file = love.path.leaf(path) - return withTempMount(dir, function(mount) + local result, err = withTempMount(dir, function(mount) local filepath = string.format('%s/%s', mount, file) return love.filesystem.getInfo(filepath, filtertype) end) + return result or nil end return nativefs diff --git a/test/main.lua b/test/main.lua index 24f2216..d770739 100644 --- a/test/main.lua +++ b/test/main.lua @@ -134,6 +134,8 @@ function test_fs_getDirectoryItems() for i = 1, #items2 do equals(map[items2[i]], map2[items2[i]]) end + + equals(#fs.getDirectoryItems('does_not_exist'), 0) end function test_fs_setWorkingDirectory() @@ -172,6 +174,8 @@ function test_fs_getInfo() notEquals(info, nil) equals(info.type, 'file') + equals(fs.getInfo('does_not_exist', nil)) + local info = fs.getInfo(testFile1) notEquals(info, nil) equals(info.type, 'file')