Commit Graph

54 Commits

Author SHA1 Message Date
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
98f8313141 add motion tests for '$' command 2024-11-24 20:15:07 +00:00
7d73146cf4 remove line breaks between tests in test/test.sml, because more code fits on screen that way, and the differing intentation is enough of a visual sign to mark when new test begins (aside from the 'test' keyword itself) 2024-11-24 19:43:06 +00:00
88ef79ad41 add tests for '0' movement motion 2024-11-24 19:35:47 +00:00
73482a7cc2 give different strings for some tests 2024-11-24 13:43:22 +00:00
d76b753fa7 add tests for 'W' move motion 2024-11-24 12:19:43 +00:00
04d4e013e2 ensure that searchList is deleted from when calling delete functions other than 'helpRemoveChr' 2024-11-23 06:10:40 +00:00
0bfe549e04 add just one more 'word' test, extract steps to delete from search list into a reusable function (don't need to memorise the steps), and fix bug in cursor.sml where we were looking at tl without calculating correct strIdx 2024-11-23 05:16:37 +00:00
4a09a5716d add more 'w'/'word' motion tests 2024-11-19 22:41:07 +00:00
c48eeb07b3 finish testing motions for 'k', meaning tests for hjkl motions are complete (can test other motions like 'w', '0', 'e', etc. next, and then test delete motions after that) 2024-11-19 13:02:13 +00:00
26850da6d3 done testing 'j' motion; next is to test 'k' motion 2024-11-19 06:43:00 +00:00
f6d4b10d44 break test suite in test.sml into more managable chunks (one test per motion) 2024-11-19 06:35:47 +00:00
64eec10049 add tests for 'j' motion 2024-11-19 06:27:38 +00:00
e2dfe25d36 a bit of refactoring in test.sml 2024-11-19 05:51:46 +00:00
96080d0964 a bit of repository management (add Makefile to make it less verbose to run tests, and add .gitignore to avoid committing built binaries) 2024-11-19 04:32:37 +00:00
afcd3ee70b add additional tests for vi's 'h' and 'l' motions 2024-11-19 04:21:54 +00:00