file.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. function lovr.load()
  2. local long = string.rep('a', 2000) .. '.txt'
  3. local file, err = lovr.filesystem.newFile(long, 'r')
  4. assert(not file and err)
  5. local missing = 'does/not/exist.txt'
  6. local file, err = lovr.filesystem.newFile(missing, 'r')
  7. assert(not file and err)
  8. local file, err = lovr.filesystem.newFile(missing, 'w')
  9. assert(not file and err)
  10. local file, err = lovr.filesystem.newFile('test.txt', 'w')
  11. assert(file and not err)
  12. assert(file:write('hi'))
  13. file:release()
  14. assert(lovr.filesystem.read('test.txt') == 'hi')
  15. assert(lovr.filesystem.write('test.txt', 'hi'))
  16. local file, err = lovr.filesystem.newFile('test.txt', 'r')
  17. assert(file and not err)
  18. assert(file:getMode() == 'r')
  19. assert(file:getPath() == 'test.txt')
  20. assert(file:getSize() == 2)
  21. local data, size = file:read()
  22. assert(data == 'hi' and size == 2)
  23. file:release()
  24. assert(lovr.filesystem.isDirectory('dir') or lovr.filesystem.createDirectory('dir'))
  25. local file, err = lovr.filesystem.newFile('dir', 'r')
  26. assert(not file and err)
  27. local file, err = lovr.filesystem.newFile('dir', 'w')
  28. assert(not file and err)
  29. assert(lovr.filesystem.remove('dir'))
  30. assert(lovr.filesystem.write('test.txt', 'hi'))
  31. local file, err = lovr.filesystem.newFile('test.txt', 'r')
  32. assert(file and not err)
  33. assert(file:isEOF() == false)
  34. assert(file:tell() == 0)
  35. assert(file:seek(1))
  36. assert(file:tell() == 1)
  37. assert(file:read(1) == 'i')
  38. assert(file:tell() == 2)
  39. assert(file:isEOF() == true)
  40. assert(file:seek(1000000))
  41. assert(file:tell() == 1000000)
  42. assert(file:read(1000000) == '')
  43. assert(file:isEOF() == true)
  44. assert(pcall(file.seek, file, -1) == false)
  45. assert(pcall(file.seek, file, 2^53 - 1) == true)
  46. assert(pcall(file.seek, file, 2^53) == false)
  47. assert(file:seek(0))
  48. assert(file:read(2) == 'hi')
  49. assert(file:tell() == 2)
  50. end
  51. lovr.event.quit()