mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-06-27 21:16:14 +02:00
Fix -contains to allow multiple terms with "OR" logic unless -and is added (#1890)
* Store multiple -contains arguments (OR default). Allow multiple occurrences of the -contains argument to be stored in a list. Previously, only the last occurrence was considered. Additionally, the behavior has been modified to default to OR logic, meaning that if multiple -contains arguments are provided, entries matching any of them will be included in the results. * Solved issue #1877 "-and" flag with multiple instances of the -contains option. * Run poe format * Fix unit test for contains to allow list instead of single value * Add BDD tests for multiple contains with and without -and * Black version updated. * Revert pyproject.toml to appease poetry --------- Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
This commit is contained in:
parent
0deadc03c8
commit
8957ceb74d
4 changed files with 48 additions and 5 deletions
|
@ -86,6 +86,36 @@ Feature: Searching in a journal
|
|||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Multiple -contains returns entries that match any
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -contains emojis -contains lorem --short"
|
||||
Then we should get no error
|
||||
And the output should contain "3 entries found"
|
||||
And the output should be
|
||||
2020-08-29 11:11 Entry the first.
|
||||
2020-08-31 14:32 A second entry in what I hope to be a long series.
|
||||
2020-09-24 09:14 The third entry finally after weeks without writing.
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Multiple -contains with -and returns only entries that match all
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -contains emojis -contains nulla -and --short"
|
||||
Then we should get no error
|
||||
And the output should contain "1 entry found"
|
||||
And the output should be
|
||||
2020-09-24 09:14 The third entry finally after weeks without writing.
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for a string within tag results
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl @tagone -contains maybe"
|
||||
|
|
|
@ -55,7 +55,7 @@ def test_empty():
|
|||
|
||||
|
||||
def test_contains_alone():
|
||||
assert cli_as_dict("-contains whatever") == expected_args(contains="whatever")
|
||||
assert cli_as_dict("-contains whatever") == expected_args(contains=["whatever"])
|
||||
|
||||
|
||||
def test_debug_alone():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue