Commit Graph

69 Commits

Author SHA1 Message Date
c500704f04 add failing tests for 'dj' motion 2025-09-24 08:54:13 +01:00
a8bc405727 add failing test for 'dl' motion 2025-09-24 07:58:45 +01:00
51a7c358ca found bug in '0' motion, added test for it, and fixed it as well 2025-09-23 16:05:23 +01:00
9a15b1715a pass all tests for 'j' motion 2025-09-23 15:30:28 +01:00
95a4f109bd progress reimplementing 'j' motion to pass new tests 2025-09-23 15:22:49 +01:00
c3ca8dddf4 add additional failing unit test for 'j' motion 2025-09-23 13:30:54 +01:00
109fda187a add a new failing test, and modify 'TestUtils.init' function (which takes a string and returns an AppType.app_type) so that it does not automatically add a newline to the end of strings. (This modification required changing the strings in some tests, as those strings did not have newlines at the end but the test assumes they did.) 2025-09-23 13:18:36 +01:00
2376ae07b5 fix tests which broke due to a design decision (how to handle newlines) 2025-09-23 12:15:14 +01:00
fcc8c8085a reimplement 'G' motion so that it follows new rule (cursor goes to second-last chr if last chr is a newline preceded by a non-newline, but goes to last chr otherwise) 2025-09-23 11:57:19 +01:00
5fded45303 remove redundant test 2025-09-23 11:11:33 +01:00
4f20379219 take care of a few tests after refactoring/making a different design decision 2025-09-23 11:04:47 +01:00
961ce63023 begin refactoring to let cursor move to very last char of file (including unix line ending) 2025-09-23 10:50:10 +01:00
6be1d48b02 add test for 'k' motion: when file ends with two newlines and cursor is on newline_1 in the pattern (char -> newline_1 -> newline_2), we should be able to move up by a line 2025-09-23 09:00:50 +01:00
494d56e997 add two new tests to check that 'w' motion does not let cursor go to last newline in file, but does let cursor go to second-last newline 2025-09-23 08:20:40 +01:00
a890381f2a amend vi's 'k' tests after having reimplemented 'k' motion 2025-09-22 07:13:04 +01:00
4dc73aa4d6 amend tests for vi's 'j' motion, after having reimplemented it 2025-09-22 05:37:54 +01:00
8ca8d1db29 add new tests for 'l' motion to ensure that newlines are only skipped when they are preceded by chars 2025-09-22 04:10:39 +01:00
4c5c1f304a amend a test to respect new viH implementation 2025-09-21 21:45:30 +01:00
68cd2a33cf add tests for 'dl' motion 2025-09-21 00:34:02 +01:00
3b27e437bc add a failing test for 'dl' motion 2025-09-20 23:59:14 +01:00
46ab3d20e7 add tests to verify that cursorIdx is as expected after 'dh' delete motion 2025-09-20 23:49:30 +01:00
a0add68e92 begin adding normal-delete tests 2025-09-20 17:59:22 +01:00
6b05c9a07a done addint to hjkl movement tests 2025-09-20 10:04:38 +01:00
a81d45b3b3 add additional tests for 'j' motion 2025-09-20 08:09:35 +01:00
ec091b56a3 add additional tests for 'l' motion 2025-09-20 06:31:14 +01:00
60cbb33cb6 add additional tests for 'h' motion 2025-09-20 04:18:15 +01:00
2e77175187 refactor tests a bit by putting LineGap-creation functionality into TestUtils.init, and make sure we also add a Unix-style newline to the end of the string if it doesn't already have one 2025-09-20 03:44:48 +01:00
9ec8891ce5 fix bugs in new function for moving cursor upwards, taking care to calculate column different if on first line (where there is no preceding newline) vs any line other than the first 2025-09-19 05:23:20 +01:00
820a6c2462 copy new file order from shf.mlb to shf-tests.mlb, and remove split-string tests because we have tried to refactor string-search logic to be separate from the data structure 2025-09-16 01:25:27 +01:00
a037211763 add a new test validating that the cursor does not move when cursor is on an empty line 2025-09-07 21:09:20 +01:00
4d77aed6ef done refactoring tests 2025-08-20 13:50:57 +01:00
b7cdbfbe02 log another exception-throwing test 2025-08-04 10:59:01 +01:00
ce0f700253 abstract exception handler/logger into its own file 2025-08-04 09:03:47 +01:00
f4c9039af1 fix failing unit test in search-list.sml/build-search-list.sml: perform bounds checking into array 2025-08-04 08:33:48 +01:00
d4532e37cf add boilerplate to ease regression testing 2025-08-04 07:14:00 +01:00
51c9090adf add a test for 'b' motion, checking that we move to start of prev word when on first character of next word 2025-07-21 00:28:25 +01:00
e59a1c67d8 begin scaffolding for adding deletion tests 2025-03-23 07:47:38 +00:00
cbc1359de1 add tests for cursor movement 'gg', which means all cursor movements have tests now. Next: add tests for delete motions. 2025-03-22 20:58:39 +00:00
dc3c1340bf add tests for 'F' motion 2025-03-22 13:50:24 +00:00
8fa5677d4d add tests for 'f' motion 2025-03-22 13:41:50 +00:00
87272a2667 add tests for 'T' motion 2025-03-22 13:09:50 +00:00
9eae0c2d48 begin adding multi-char tests (for motions such as 't<char>') 2025-03-22 06:13:01 +00:00
649bcb66e1 a bit of refactoring to allow addition of more tests 2025-03-22 05:18:25 +00:00
90f8732f06 move msgs into AppType.app_type, and refactor AppUpdate.update function to have type (app_type -> app_type) instead of pervious case which was (app_type -> app_type * MailboxType.t list). Reason: no need to allocate/return tuple when can store messages in type directly; previous msg list will be reset after each app update. All tests after refactor are passing. 2024-12-17 10:40:06 +00:00
24cdea7da3 pull in new version of railroad library, and make a one-line change to print exclusively tests that have failed (because terminal output is noisy otherwise) 2024-12-17 09:49:07 +00:00
fa723f27fa basic motion tests done 2024-11-27 10:17:42 +00:00
db64917416 add tests for 'E' motion 2024-11-26 11:20:32 +00:00
bc856d3470 add tests for 'e' motion 2024-11-26 11:03:52 +00:00
233a21456d add tests for matching pairs 2024-11-26 00:43:02 +00:00
2cc7bebbd7 add tests for caret ^ motion 2024-11-25 22:13:02 +00:00