about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2023-11-12 16:26:51 -0800
committerKartik K. Agaram <vc@akkartik.com>2023-11-12 16:31:12 -0800
commit7057ac74eceac82a10ae01d6fe7cab0944184c73 (patch)
tree50515b45c4ff55152e055707f8b31146a6a67776
parentd90dff328697f64677d49e7022fbc08de8d4d2a1 (diff)
downloadlines.love-7057ac74eceac82a10ae01d6fe7cab0944184c73.tar.gz
check for 'error' mode in a few more places
In particular, I want to be able to switch to 'error' mode rather than
throw a real error() on test failures, because that's a little more
responsive and might be recoverable. (On some Android devices the font
is slightly different, and tests fail as a result.)
-rw-r--r--main.lua19
1 files changed, 14 insertions, 5 deletions
diff --git a/main.lua b/main.lua
index ecc261e..8272dfd 100644
--- a/main.lua
+++ b/main.lua
@@ -66,6 +66,7 @@ function App.load()
         load_file_from_source_or_save_directory('colorize.lua')
       load_file_from_source_or_save_directory('source_text_tests.lua')
     load_file_from_source_or_save_directory('source_tests.lua')
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
@@ -93,6 +94,7 @@ function App.initialize_globals()
     run.initialize_globals()
   elseif Current_app == 'source' then
     source.initialize_globals()
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
@@ -113,6 +115,7 @@ function App.initialize(arg)
     run.initialize(arg)
   elseif Current_app == 'source' then
     source.initialize(arg)
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
@@ -123,6 +126,7 @@ function App.resize(w,h)
     if run.resize then run.resize(w,h) end
   elseif Current_app == 'source' then
     if source.resize then source.resize(w,h) end
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
@@ -134,6 +138,7 @@ function App.filedropped(file)
     if run.file_drop then run.file_drop(file) end
   elseif Current_app == 'source' then
     if source.file_drop then source.file_drop(file) end
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
@@ -147,21 +152,22 @@ function App.focus(in_focus)
     if run.focus then run.focus(in_focus) end
   elseif Current_app == 'source' then
     if source.focus then source.focus(in_focus) end
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
 end
 
 function App.draw()
-  if Current_app == 'error' then
+  if Current_app == 'run' then
+    run.draw()
+  elseif Current_app == 'source' then
+    source.draw()
+  elseif Current_app == 'error' then
     love.graphics.setColor(0,0,1)
     love.graphics.rectangle('fill', 0,0, App.screen.width, App.screen.height)
     love.graphics.setColor(1,1,1)
     love.graphics.printf(Error_message, 40,40, 600)
-  elseif Current_app == 'run' then
-    run.draw()
-  elseif Current_app == 'source' then
-    source.draw()
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
@@ -178,6 +184,7 @@ function App.update(dt)
     run.update(dt)
   elseif Current_app == 'source' then
     source.update(dt)
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end
@@ -209,6 +216,7 @@ function App.keychord_press(chord, key)
       if source.quit then source.quit() end
       Current_app = 'run'
       Error_message = nil
+    elseif Current_app == 'error' then
     else
       assert(false, 'unknown app "'..Current_app..'"')
     end
@@ -224,6 +232,7 @@ function App.keychord_press(chord, key)
     if run.keychord_press then run.keychord_press(chord, key) end
   elseif Current_app == 'source' then
     if source.keychord_press then source.keychord_press(chord, key) end
+  elseif Current_app == 'error' then
   else
     assert(false, 'unknown app "'..Current_app..'"')
   end