test: undo moving point
[?]
Jun 15, 2022, 5:43 AM
7DYUAOI6WHAP75T2KEGN6CPSASO7B6L6BDE6FQ5ELND7T6X3WO4ACDependencies
- [2]
T7SJSJIHtest: undo naming a point - [3]
GHZMRR33some more manual tests related to drawings - [4]
K464QQR4more defensive resize handling - [*]
K2X6G75Zstart writing some tests for drawings - [*]
BJ5X5O4Alet's prevent the text cursor from ever getting on a drawing
Change contents
- edit in drawing_tests.lua at line 594[2.2163]
function test_undo_move_point()io.write('\ntest_undo_move_point')-- create a drawing with a lineFilename = 'foo'App.screen.init{width=Margin_left+300, height=300}Lines = load_array{'```lines', '```', ''}Line_width = 256 -- drawing coordinates 1:1 with pixelsCurrent_drawing_mode = 'line'App.draw()App.run_after_mouse_press(Margin_left+5, Margin_top+Drawing_padding_top+6, 1)App.run_after_mouse_release(Margin_left+35, Margin_top+Drawing_padding_top+36, 1)local drawing = Lines[1]check_eq(#drawing.shapes, 1, 'F - test_undo_move_point/baseline/#shapes')check_eq(#drawing.points, 2, 'F - test_undo_move_point/baseline/#points')check_eq(drawing.shapes[1].mode, 'line', 'F - test_undo_move_point/baseline/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_undo_move_point/baseline/p1:x')check_eq(p1.y, 6, 'F - test_undo_move_point/baseline/p1:y')check_eq(p2.x, 35, 'F - test_undo_move_point/baseline/p2:x')check_eq(p2.y, 36, 'F - test_undo_move_point/baseline/p2:y')check_nil(p2.name, 'F - test_undo_move_point/baseline/p2:name')-- move p2App.run_after_keychord('C-u')App.mouse_move(Margin_left+26, Margin_top+Drawing_padding_top+44)App.update(0.05)local p2 = drawing.points[drawing.shapes[1].p2]check_eq(p2.x, 26, 'F - test_undo_move_point/x')check_eq(p2.y, 44, 'F - test_undo_move_point/y')-- exit 'move' modeApp.run_after_mouse_click(Margin_left+26, Margin_top+Drawing_padding_top+44, 1)check_eq(Next_history, 4, 'F - test_undo_move_point/next_history')-- undoApp.run_after_keychord('C-z')App.run_after_keychord('C-z') -- bug: need to undo twicelocal drawing = Lines[1]local p2 = drawing.points[drawing.shapes[1].p2]check_eq(Next_history, 2, 'F - test_undo_move_point/next_history')check_eq(p2.x, 35, 'F - test_undo_move_point/x')check_eq(p2.y, 36, 'F - test_undo_move_point/y')-- change is savedLines = load_from_disk(Filename)local p2 = Lines[1].points[drawing.shapes[1].p2]check_eq(p2.x, 35, 'F - test_undo_move_point/save/x')check_eq(p2.y, 36, 'F - test_undo_move_point/save/y')end - edit in Manual_tests.md at line 17
moving points