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: else:
raw = _write_in_editor(config) raw = _write_in_editor(config)
if not raw: if not raw or raw.isspace():
logging.error("Write mode: couldn't get raw text") logging.error("Write mode: couldn't get raw text or entry was empty")
raise JrnlException( raise JrnlException(Message(MsgText.NoTextReceived, MsgType.ERROR))
Message(MsgText.JrnlExceptionMessage.NoTextReceived, MsgType.ERROR)
)
logging.debug( logging.debug(
'Write mode: appending raw text to journal "%s": %s', args.journal_name, raw 'Write mode: appending raw text to journal "%s": %s', args.journal_name, raw

View file

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

View file

@ -73,12 +73,12 @@ Feature: Writing new entries.
| basic_dayone.yaml | | basic_dayone.yaml |
| basic_folder.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>" Given we use the config "<config_file>"
And we write nothing to the editor if opened And we write nothing to the editor if opened
And we use the password "test" if prompted And we use the password "test" if prompted
When we run "jrnl --edit" 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 And the editor should have been called
Examples: configs Examples: configs
@ -89,6 +89,20 @@ Feature: Writing new entries.
| basic_encrypted.yaml | | basic_encrypted.yaml |
| basic_onefile.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 Scenario Outline: Writing an empty entry from the command line with no editor should yield nothing
Given we use the config "<config_file>" Given we use the config "<config_file>"