7CLGG7J277QZGMNOVFEXBX6DRETCVK7GH66HJ7BYOBMPHTJCDFMAC AD34IX2ZSGYGU3LGY2IZOZNKD4HRQOYJVG5UWMWLXJZJSM62FFOAC CRYGI3LRKVHD4D76Q2VTNSX4B2JP5FPDEFJU6DBO7QWFHER2E4OQC VHQCNMARPMNBSIUFLJG7HVK4QGDNPCGNVFLHS3I4IGNVSV5MRLYQC K2X6G75Z6XBC4DVIRWC5HC7XA3A2SKOM3MWSQTCFEYWIJL7LME2QC 3QNOKBFMKBGXBVJIRHR2444JRRMBTABHE4674NR3DT67RRM2X6GAC AVTNUQYRBW7IX2YQ3KDLVQ23RGW3BAKTAE7P73ASBYNKOHMQMH5AC 2XLZCWZCOFZGNAPSD7XNCYITKVY5WZW3OD7IXMC7WJQ5SBI7YHNQC BJ5X5O4ACBBJ56LRBBSTCW6IBQP4HAEOOOPNH3SKTA4F66YTOIDAC function test_creating_drawing_saves()io.write('\ntest_creating_drawing_saves')App.screen.init{width=120, height=60}Filename = 'foo'Lines = load_array{}App.draw()-- click on button to create drawingApp.run_after_mouse_click(8,Margin_top+8, 1)-- filesystem contains drawing and an empty line of textcheck_eq(App.filesystem['foo'], '```lines\n```\n\n', 'F - test_creating_drawing_saves')end
-- The format on disk isn't perfectly stable. Table fields can be reordered.-- So just reload from disk to verify.Lines = load_from_disk(Filename)local drawing = Lines[1]check_eq(#drawing.shapes, 1, 'F - test_draw_line/save/#shapes')check_eq(#drawing.points, 2, 'F - test_draw_line/save/#points')check_eq(drawing.shapes[1].mode, 'line', 'F - test_draw_line/save/shape:1')local p1 = drawing.points[drawing.shapes[1].p1]local p2 = drawing.points[drawing.shapes[1].p2]check_eq(p1.x, 5, 'F - test_draw_line/save/p1:x')check_eq(p1.y, 6, 'F - test_draw_line/save/p1:y')check_eq(p2.x, 35, 'F - test_draw_line/save/p2:x')check_eq(p2.y, 36, 'F - test_draw_line/save/p2:y')
write = function(self, s)App.filesystem[filename] = App.filesystem[filename]..s
write = function(self, ...)local args = {...}for i,s in ipairs(args) doApp.filesystem[filename] = App.filesystem[filename]..sendend,close = function(self)end}endfunction App.open_for_reading(filename)return {lines = function(self)return App.filesystem[filename]:gmatch('[^\n]+')