forked from jrnl-org/jrnl
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allow combinations of
--change-time
, --delete
, and --edit
while…
… correctly counting the number of entries affected (jrnl-org#1669) * Remove search mode conditional that added explicit tag search behavior * Fix failing change-time test by using same method signature as base journal class * Fix user input mock - was not appropriately checking return value * Clean up controller - streamline `run` function in `controller.py` - add debug logging - fix unnecessary import of Journal class (only needed for typing) - standardize summary display across different actions * Add currently-failing test conditions for count messages when changing time and deleting * Don't show summary if no entries found and prevent extra line break when no entries found by short-circuiting display method * Track found entry count and remove incorrect modified stat logic * Track journal entry deletion consistently * Remove unneeded exception when editor is empty and fix test that was testing incorrect message * Correct entry edit modified count test * Track modification of entries with --change-time * Preserve existing behavior when editor is empty but make the message more clear * Reconcile tests with new error message when clearing editor in edit mode * Add found/modified counts to edit tests * Add tests for found count with -n equivalent argument * Test combinations of found/deleted messages when using --delete * Add tests for counting combinations of action arguments (change-time, edit, delete) and for change-time counts. Some are failing and should be investigated * Remove extraneous comment in test * Track added/deleted counts in a register in the Journal class instead of attempting to infer it via controller counting * Add encrypted to more tests * Fix merge conflict typo * Change 'write mode' -> 'append mode' in more places --------- Co-authored-by: Micah Jerome Ellison <[email protected]>
- Loading branch information
1 parent
b3c6f90
commit 3c923ae
Showing
18 changed files
with
470 additions
and
261 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
# Copyright © 2012-2023 jrnl contributors | ||
# License: https://www.gnu.org/licenses/gpl-3.0.html | ||
|
||
Feature: Test combinations of edit, change-time, and delete | ||
|
||
Scenario Outline: --change-time with --edit modifies selected entries | ||
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 --change-time '2022-04-23 10:30' --edit" and enter | ||
Y | ||
N | ||
Y | ||
Then the error output should contain "No text received from editor. Were you trying to delete all the entries?" | ||
And the editor should have been called | ||
When we run "jrnl -99 --short" | ||
Then the output should be | ||
2020-08-31 14:32 A second entry in what I hope to be a long series. | ||
2022-04-23 10:30 Entry the first. | ||
2022-04-23 10:30 The third entry finally after weeks without writing. | ||
|
||
Examples: Configs | ||
| config_file | | ||
| basic_onefile.yaml | | ||
| basic_folder.yaml | | ||
| basic_encrypted.yaml | | ||
# | basic_dayone.yaml | @todo | ||
|
||
Scenario Outline: --delete with --edit deletes selected entries | ||
Given we use the config "<config_file>" | ||
And we append to the editor if opened | ||
[2023-02-21 10:32] Here is a new entry | ||
And we use the password "test" if prompted | ||
When we run "jrnl --delete --edit" and enter | ||
Y | ||
N | ||
Y | ||
Then the editor should have been called | ||
And the error output should contain "3 entries found" | ||
And the error output should contain "2 entries deleted" | ||
And the error output should contain "1 entry added" | ||
When we run "jrnl -99 --short" | ||
Then the error output should contain "2 entries found" | ||
And the output should be | ||
2020-08-31 14:32 A second entry in what I hope to be a long series. | ||
2023-02-21 10:32 Here is a new entry | ||
|
||
Examples: Configs | ||
| config_file | | ||
| basic_onefile.yaml | | ||
| basic_folder.yaml | | ||
| basic_encrypted.yaml | | ||
# | basic_dayone.yaml | @todo | ||
|
||
Scenario Outline: --change-time with --delete affects appropriate entries | ||
Given we use the config "<config_file>" | ||
And we use the password "test" if prompted | ||
# --change-time is asked first, then --delete | ||
When we run "jrnl --change-time '2022-04-23 10:30' --delete" and enter | ||
N | ||
N | ||
Y | ||
Y | ||
N | ||
N | ||
Then the error output should contain "3 entries found" | ||
And the error output should contain "1 entry deleted" | ||
And the error output should contain "1 entry modified" | ||
When we run "jrnl -99 --short" | ||
Then the output should be | ||
2020-08-31 14:32 A second entry in what I hope to be a long series. | ||
2022-04-23 10:30 The third entry finally after weeks without writing. | ||
|
||
Examples: Configs | ||
| config_file | | ||
| basic_onefile.yaml | | ||
| basic_folder.yaml | | ||
| basic_encrypted.yaml | | ||
# | basic_dayone.yaml | @todo | ||
|
||
Scenario Outline: Combining --change-time and --delete and --edit affects appropriate entries | ||
Given we use the config "<config_file>" | ||
And we append to the editor if opened | ||
[2023-02-21 10:32] Here is a new entry | ||
And we use the password "test" if prompted | ||
# --change-time is asked first, then --delete, then --edit | ||
When we run "jrnl --change-time '2022-04-23 10:30' --delete --edit" and enter | ||
N | ||
Y | ||
Y | ||
Y | ||
Y | ||
N | ||
Then the error output should contain "3 entries found" | ||
And the error output should contain "2 entries deleted" | ||
And the error output should contain "1 entry modified" # only 1, because the other was deleted | ||
And the error output should contain "1 entry added" # by edit | ||
When we run "jrnl -99 --short" | ||
Then the output should be | ||
2022-04-23 10:30 The third entry finally after weeks without writing. | ||
2023-02-21 10:32 Here is a new entry | ||
|
||
Examples: Configs | ||
| config_file | | ||
| basic_onefile.yaml | | ||
| basic_folder.yaml | | ||
| basic_encrypted.yaml | | ||
# | basic_dayone.yaml | @todo |
Oops, something went wrong.