Display "Entry not saved" after empty entry on cmdline

This commit is contained in:
apainintheneck 2022-04-25 17:41:14 -07:00
parent 97f326a59c
commit fb20f2ffa2
3 changed files with 20 additions and 8 deletions

View file

@ -134,11 +134,9 @@ def write_mode(args, config, journal, **kwargs):
else:
raw = _write_in_editor(config)
if not raw:
logging.error("Write mode: couldn't get raw text")
raise JrnlException(
Message(MsgText.JrnlExceptionMessage.NoTextReceived, MsgType.ERROR)
)
if not raw or raw.isspace():
logging.error("Write mode: couldn't get raw text or entry was empty")
raise JrnlException(Message(MsgText.NoTextReceived, MsgType.ERROR))
logging.debug(
'Write mode: appending raw text to journal "%s": %s', args.journal_name, raw

View file

@ -98,7 +98,7 @@ class MsgText(Enum):
"""
NoTextReceived = """
Nothing saved to file
Entry not saved
"""
# --- Upgrade --- #

View file

@ -73,12 +73,12 @@ Feature: Writing new entries.
| basic_dayone.yaml |
| basic_folder.yaml |
Scenario Outline: Writing an empty entry from the editor should yield "Nothing saved to file" message
Scenario Outline: Writing an empty entry from the editor should yield "Entry not saved" message
Given we use the config "<config_file>"
And we write nothing to the editor if opened
And we use the password "test" if prompted
When we run "jrnl --edit"
Then the error output should contain "Nothing saved to file"
Then the error output should contain "Entry not saved"
And the editor should have been called
Examples: configs
@ -89,6 +89,20 @@ Feature: Writing new entries.
| basic_encrypted.yaml |
| basic_onefile.yaml |
Scenario Outline: Writing an empty entry from the command line should yield "Entry not saved" message
Given we use the config "<config_file>"
And we use the password "test" if prompted
When we run "jrnl" and enter "\x04"
Then the error output should contain "Entry not saved"
When we run "jrnl" and enter " \t \n \x04"
Then the error output should contain "Entry not saved"
Examples: configs
| config_file |
| basic_onefile.yaml |
| basic_encrypted.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Writing an empty entry from the command line with no editor should yield nothing
Given we use the config "<config_file>"