53 Commits

Author SHA1 Message Date
89687100f3 add another BUffer unit test 2017-01-28 12:24:26 -05:00
903b35f8bb test CommandParser ignores newlines at end of command 2017-01-28 11:54:43 -05:00
210a7b82c5 Fix up CommandParser operation and add unit tests 2017-01-23 21:47:40 -05:00
d1b2350e1a Fix unit tests broken by 08529fc 2017-01-19 15:05:32 -05:00
62e127d400 add extra undo test 2017-01-15 21:35:38 -05:00
cd0efc431d test more undo/redo change unit combinations 2017-01-15 21:16:55 -05:00
af77c97394 test that non-adjacent inserts make a single change operation 2017-01-15 21:01:13 -05:00
edf29f0bac add tests for modifying uncommitted insert change units 2017-01-15 20:46:09 -05:00
4e03fbc3de fix bug of undo/redo creating new change operations themselves 2017-01-15 20:33:37 -05:00
3e50e8a3b3 test number of change operations created in basic undo/redo tests 2017-01-15 20:27:26 -05:00
861aaed940 add unit test for coalescing erase change units within a change operation 2017-01-15 20:23:27 -05:00
6ba280e75d add unit test for basic undo/redo of erases 2017-01-15 20:06:08 -05:00
441c33821e add unit test for basic undo/redo of inserts 2017-01-15 20:02:12 -05:00
e98454c771 add unit tests for buffer insert/erase character 2017-01-15 19:46:33 -05:00
b9313ad606 add GapBuffer::copy_to() 2017-01-09 22:05:43 -05:00
85dbf75b11 add Buffer::add_cursor() 2017-01-07 15:03:51 -05:00
4017d8237e Add System::executable_path() 2017-01-03 18:59:12 -05:00
92b3e888b5 Add GapBuffer::erase() 2016-12-26 13:28:37 -05:00
743bfa5179 test Buffer::Iterator::go_{start,end}_of_line() on blank lines 2016-12-24 14:44:13 -05:00
1862d867f6 Fix Buffer::Iterator::go_previous_line() 2016-12-24 14:41:25 -05:00
252f4121f3 turn on unit tests for iterators instead of cursors 2016-12-21 23:47:26 -05:00
6b27fafb26 test no EOL at EOF with CRLF-formatted files 2016-12-18 19:52:41 -05:00
e78a3672c5 improve GapBuffer test coverage 2016-12-18 19:20:48 -05:00
968db413e6 Remove Cursor and move line-tracking into Iterator 2016-12-18 14:51:52 -05:00
39088f6518 Add output parameter to Encoding::decode() to get encoded size 2016-12-17 10:54:50 -05:00
6f244e5c8f Add unit tests for GapBuffer and fix an insert() bug. 2016-12-07 23:37:52 -05:00
6c8e860fb5 Test that files consisting of just 1 or 2 newline characters are written correctly 2016-12-07 22:20:41 -05:00
abb11a0b8c Fix cursor go_up()/go_down(), turn on unit tests 2016-11-07 22:42:54 -05:00
5c9f7a7645 turn on tests for Buffer::write_to_file() 2016-11-07 22:36:32 -05:00
fbca1f995a remove PieceTable 2016-11-01 21:44:01 -04:00
65468bd2e5 Change TextLoader for gap buffer approach
- for CR line endings, convert all CR to LF
- for CRLF line endings, convert all CRLF to LF
2016-11-01 20:53:54 -04:00
e5c4ee00c0 test return values from check_go_*() cursor movement functions 2016-10-28 21:56:04 -04:00
261cc9abf8 adjust cursor movement to optionally allow moving to EOL 2016-10-15 18:07:58 -04:00
08dd616bef add unit tests for Encoding::encode() 2016-10-08 15:36:22 -04:00
24e6eb7f04 add unit tests for Encoding module 2016-10-06 22:45:38 -04:00
33a190c495 complete cursor movement routines taking Encoding and tabs into account 2016-08-27 21:38:48 -04:00
3c5a7b7341 add initial cursor movement support 2016-08-08 22:40:47 -04:00
f6338da8d0 add PieceTable::Cursor::operator*(), add unit test 2016-08-04 22:38:18 -04:00
382d155e40 add LineEndings module 2016-07-26 22:36:22 -04:00
cdae9e51ae add Span class and use it from TextLoader 2016-07-26 21:09:33 -04:00
10a0b33dbe Add Buffer unit tests
- test that writing a buffer with no changes results in the identical
  file being written
2016-07-24 17:25:21 -04:00
7093560a94 Support loading files that do not end with a EOL sequence
- do not drop the last line of such files from TextLoader
- add a flag to TextLoader to indicate if the loaded file ended with a
  EOL sequence
2016-07-24 12:22:03 -04:00
89e8dc5de3 add TextLoader::get_eol_at_eof() 2016-07-24 12:06:50 -04:00
cab874305f add PagedBuffer; use own main() for tests 2016-07-17 20:43:18 -04:00
3be19dbf81 implement TextLoader tests, add TestSupport module 2016-07-16 21:28:29 -04:00
a2bd7504b5 replace FileLoader with TextLoader 2016-07-14 21:28:38 -04:00
e562f77dab replace FileReader with File class; prepare for removing FileLoader 2016-07-14 18:44:18 -04:00
ff51d17344 add Path::listdir() 2016-07-06 22:41:43 -04:00
725a0f22a1 allow Path::join() to take an arbitrary number of arguments 2016-07-06 22:41:42 -04:00
2012591b27 add Path::is_file() and Path::is_dir() 2016-07-06 19:40:35 -04:00