about summary refs log tree commit diff stats
path: root/drawing_tests.lua
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2023-03-26 09:36:41 -0700
committerKartik K. Agaram <vc@akkartik.com>2023-03-26 09:36:41 -0700
commiteae5c9505c665b343af7690d9665431ae17ed5e9 (patch)
tree046b87f9af87ff6510e3fed2076032593a36dd24 /drawing_tests.lua
parent0ae94b0de59618bb86a55edcaa8e961abb192f2d (diff)
downloadtext.love-eae5c9505c665b343af7690d9665431ae17ed5e9.tar.gz
bugfix: naming points
Diffstat (limited to 'drawing_tests.lua')
-rw-r--r--drawing_tests.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/drawing_tests.lua b/drawing_tests.lua
index 0c4de54..491ff3a 100644
--- a/drawing_tests.lua
+++ b/drawing_tests.lua
@@ -457,6 +457,41 @@ function test_name_point_then_hit_backspace()
   -- no crash
 end
 
+function test_name_point_then_exit_drawing()
+  -- create a drawing with a line
+  App.screen.init{width=Test_margin_left+256, height=300}  -- drawing coordinates 1:1 with pixels
+  Editor_state = edit.initialize_test_state()
+  Editor_state.filename = 'foo'
+  Editor_state.lines = load_array{'```lines', '```', ''}
+  Text.redraw_all(Editor_state)
+  edit.check_locs(Editor_state)
+  Editor_state.current_drawing_mode = 'line'
+  edit.draw(Editor_state)
+  -- draw a line
+  edit.run_after_mouse_press(Editor_state, Editor_state.left+5, Editor_state.top+Drawing_padding_top+6, 1)
+  edit.run_after_mouse_release(Editor_state, Editor_state.left+35, Editor_state.top+Drawing_padding_top+36, 1)
+  local drawing = Editor_state.lines[1]
+  check_eq(#drawing.shapes, 1, 'baseline/#shapes')
+  check_eq(#drawing.points, 2, 'baseline/#points')
+  check_eq(drawing.shapes[1].mode, 'line', 'baseline/shape:1')
+  local p1 = drawing.points[drawing.shapes[1].p1]
+  local p2 = drawing.points[drawing.shapes[1].p2]
+  check_eq(p1.x, 5, 'baseline/p1:x')
+  check_eq(p1.y, 6, 'baseline/p1:y')
+  check_eq(p2.x, 35, 'baseline/p2:x')
+  check_eq(p2.y, 36, 'baseline/p2:y')
+  check_nil(p2.name, 'baseline/p2:name')
+  -- enter 'name' mode without moving the mouse
+  edit.run_after_keychord(Editor_state, 'C-n')
+  check_eq(Editor_state.current_drawing_mode, 'name', 'mode:1')
+  -- click outside the drawing
+  edit.run_after_mouse_click(Editor_state, App.screen.width-5, App.screen.height-5, 1)
+  -- press a key
+  edit.run_after_text_input(Editor_state, 'a')
+  -- key goes to text
+  check_eq(Editor_state.lines[2].data, 'a')
+end
+
 function test_move_point()
   -- create a drawing with a line
   App.screen.init{width=Test_margin_left+256, height=300}  -- drawing coordinates 1:1 with pixels