Fix/noeol (#295)
* Handle missing EOL in todo.txt This can happen easily with certain editors (such as Mousepad) that do not automatically add a newline character at the end of a file. In _addto(), ensure a trailing newline via sed (taken from https://unix.stackexchange.com/a/31955/18876). Fixes #294 * Tests: Add basic coverage of move * Handle missing EOL in todo.txt for move, too This can happen easily with certain editors (such as Mousepad) that do not automatically add a newline character at the end of a file. * Refactoring: Extract fixMissingEndOfLine() * FIX: Compatibility: sed \+ multi not supported on MacOS Use the POSIX \{1,\} instead. Co-authored-by: Ali Karbassi <ali@karbassi.com>
This commit is contained in:
@@ -110,4 +110,17 @@ TODO: 1 added.
|
||||
--
|
||||
TODO: 1 of 1 tasks shown
|
||||
EOF
|
||||
|
||||
echo -n 'this is a first task without newline' > todo.txt
|
||||
test_todo_session 'add to file without EOL' <<EOF
|
||||
>>> todo.sh add "a second task"
|
||||
2 a second task
|
||||
TODO: 2 added.
|
||||
|
||||
>>> todo.sh list
|
||||
2 a second task
|
||||
1 this is a first task without newline
|
||||
--
|
||||
TODO: 2 of 2 tasks shown
|
||||
EOF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user