diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2022-05-23 08:13:58 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2022-05-23 08:17:40 -0700 |
commit | 37f1313b16971200f56552dbbf8c2b0b2b65417e (patch) | |
tree | e16e4ed0862a03d775a71cf4dea6d04864421d32 /file.lua | |
parent | 46d4c4de10b31a82664364364c911e1d8a08c0e5 (diff) | |
download | lines.love-37f1313b16971200f56552dbbf8c2b0b2b65417e.tar.gz |
first successful pagedown test, first bug found by test
I also really need to rethink how people debug my programs. My approach of inserting and deleting print() takes a lot of commitment. I need my old trace-based whitebox testing idea. However, in my past projects I never did figure out a good framework for tweaking how verbose a trace to emit. Perhaps that's too many knobs. Perhaps we just need a way to run a single test with the most verbose trace possible. Then it's just a matter of having the trace tell a coherent story? But even if the trace stays out of program output in that situation, it's still in the programmer's face in the _code_. Ugh. Current plan: ship program with maximum tests and zero commented-out prints. If you want to debug, insert prints. This is better than previous, text-mode, projects just by virtue of the stdout channel being dedicated to debug stuff.
Diffstat (limited to 'file.lua')
-rw-r--r-- | file.lua | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/file.lua b/file.lua index 0dcc369..a60fe69 100644 --- a/file.lua +++ b/file.lua @@ -107,13 +107,18 @@ end function load_array(a) local result = {} local next_line = ipairs(a) - local i,line = 0, '' + local i,line,drawing = 0, '' while true do i,line = next_line(a, i) if i == nil then break end +--? print(line) if line == '```lines' then -- inflexible with whitespace since these files are always autogenerated - table.insert(result, load_drawing_from_array(next_line, a, i)) +--? print('inserting drawing') + i, drawing = load_drawing_from_array(next_line, a, i) +--? print('i now', i) + table.insert(result, drawing) else +--? print('inserting text') table.insert(result, {mode='text', data=line}) end end @@ -129,6 +134,7 @@ function load_drawing_from_array(iter, a, i) while true do i, line = iter(a, i) assert(i) +--? print(i) if line == '```' then break end local shape = json.decode(line) if shape.mode == 'freehand' then @@ -156,5 +162,5 @@ function load_drawing_from_array(iter, a, i) end table.insert(drawing.shapes, shape) end - return drawing + return i, drawing end |