Commit Graph

106 Commits

Author SHA1 Message Date
478a2e5002 add some more tests from freeCodeCamp tutorial 2025-10-11 14:27:56 +01:00
7f1f1f7bdc at end of char loop, track if length of dstate changed. If it did not, that means that we have encountered a loop that is at the end; thus, we should add the endMarker 2025-10-11 13:39:28 +01:00
90327579d1 find failing test in regex: 'go*' does not match phrase 'gut feeling'. It should match the first character because the 'o' is optional, but the * acts like + instead, expecting at least one 'o' 2025-10-09 22:46:06 +01:00
7a3e4c2b67 add some additional regex tests 2025-10-09 22:26:33 +01:00
4665141a1d checkpoint for adding freeCodeCamp regex tests 2025-10-09 17:06:09 +01:00
c427cd25fa begin adding regex tests based on freeCodeCamp tutorial 2025-10-09 16:56:36 +01:00
e51c18166e begin adding tests based on tutorial by freeCodeCamp 2025-10-09 16:50:19 +01:00
3197315478 fix failing tests for escaping regex metacharacters 2025-10-09 06:22:21 +01:00
8bd8977027 add tests checking if regex escape sequences are recognised 2025-10-09 06:14:29 +01:00
a5fec6f1a2 add tests for escape sequences 2025-10-09 06:06:07 +01:00
5d7b9e35ba add tests that the regex returns an empty DFA when the regexString contains the endMarker 2025-10-09 05:44:35 +01:00
f32a53aabc added regex tests for case sensitivity 2025-10-09 05:39:01 +01:00
250ae239be begin adding tests for regex 2025-10-09 05:34:32 +01:00
64678bf68e add tests for 'dE' motion 2025-09-27 15:40:26 +01:00
d01a1367ae add test for 'dw' case: when we use 'dw' on last word in buffer, and there is no newline after last word, we delete last word fully 2025-09-27 13:09:18 +01:00
d9380bcb64 pass regression test by modifying 'SearchList.backtrackRange' function. The modification that worked was swapping two if-statements around: first we check if the string position is 0 (and loop to check the previous string if so); in the else case, we check if the searchPos <= 1 (which signals for us to exit backtracking). Swapping the order of the if-statements means that, when we exit the loop, we always exit with string that is at this position. 2025-09-27 12:40:28 +01:00
39db9c652e add new test where we receive an exception when deleting while there is a search 2025-09-27 12:31:29 +01:00
0b490b00bb add tests for 'de' motion 2025-09-27 10:02:05 +01:00
cd31bdd0d5 add tests for 'dW' motion, which are same as tests for 'dw' motion but testing for WORD instead of word where possible 2025-09-27 07:14:26 +01:00
074ba2bcde done adding tests for 'dw' motion 2025-09-26 08:21:54 +01:00
5e1e66a977 add another test for 'dw' motion 2025-09-26 07:58:23 +01:00
9e0f62d142 add another test for 'dw' motion when deleting in the second of three words (this one passes) 2025-09-26 07:32:35 +01:00
5503b8ebda add failing test for 'dw' motion 2025-09-26 05:27:48 +01:00
1494d5c356 add two new unit tests for 'dk' motion 2025-09-25 13:58:56 +01:00
1f5e933772 add failing test for 'dk' motion, when cursor is on last character of line 2025-09-25 10:38:57 +01:00
5610ccf630 more descriptive name for one test 2025-09-25 10:04:37 +01:00
594367d6d8 add another failing unit test for 'dk' motion 2025-09-25 10:02:16 +01:00
75b4f11822 add failing test for 'dk' motion 2025-09-25 09:30:07 +01:00
de8f5b7761 add a few more tests for 'dk' motion 2025-09-25 09:19:15 +01:00
2c3eb6a8a1 begin adding tests for 'dk' motion 2025-09-25 09:03:40 +01:00
5264cbfac8 add tests for 'dd' motion, and they all pass 2025-09-25 07:15:17 +01:00
1000e74183 pass failing test for 'dj' motion through a different startLine calculation depending on whether cursor is already on a newline or not 2025-09-25 06:34:08 +01:00
b73117d075 add failing test for 'dj' motion, and progress reimplementing 'MakeNormalDelete.deleteLine' 2025-09-25 06:11:36 +01:00
11015dfa9e add two more test cases for 'dj' motion that were failing when added, and modify 'MakeNormalDelete.deleteLineDown' to handle them 2025-09-25 05:28:13 +01:00
1255238d6c pass failing tests for 'dj' motion 2025-09-24 19:32:31 +01:00
80078196e0 if 'MakeNormalDelete.deleteLine' deletes to the end of the file such that there is no newline at the end, then append a newline. This makes one of the tests we have pass. 2025-09-24 13:05:13 +01:00
e70aab8952 add another failing test for 'dl' motion 2025-09-24 09:07:26 +01:00
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