42 Commits

Author SHA1 Message Date
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
46f5059a0b add test/files/control-characters.txt 2016-12-30 12:10:43 -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
1f9a981e6a add initial Path class 2016-07-06 19:21:35 -04:00
e9c4d6419f avoid test compilation warnings 2016-06-20 21:44:19 -04:00
9cba728fb9 add unit tests 2016-06-19 15:44:48 -04:00