Commit Graph

34 Commits

Author SHA1 Message Date
9846750c51 change implementation of 'word' so that we stop at newlines when we press 'w' motion, like in Vim and add tests to verify this behaviour (todo: fix regressions in deletion tests) 2025-12-27 06:05:36 +00: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
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
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