mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-11 00:58:31 +02:00
121 lines
4.3 KiB
Gherkin
121 lines
4.3 KiB
Gherkin
Feature: Tagging
|
|
|
|
Scenario: Displaying tags
|
|
Given we use the config "tags.yaml"
|
|
When we run "jrnl --tags"
|
|
Then we should get no error
|
|
and the output should be
|
|
"""
|
|
@idea : 2
|
|
@journal : 1
|
|
@dan : 1
|
|
"""
|
|
|
|
Scenario: Filtering journals should also filter tags
|
|
Given we use the config "tags.yaml"
|
|
When we run "jrnl -from 'may 2013' --tags"
|
|
Then we should get no error
|
|
and the output should be
|
|
"""
|
|
@idea : 1
|
|
@dan : 1
|
|
"""
|
|
|
|
Scenario: Tags should allow certain special characters
|
|
Given we use the config "tags-216.yaml"
|
|
When we run "jrnl --tags"
|
|
Then we should get no error
|
|
and the output should be
|
|
"""
|
|
@os/2 : 1
|
|
@c++ : 1
|
|
@c# : 1
|
|
"""
|
|
Scenario: An email should not be a tag
|
|
Given we use the config "tags-237.yaml"
|
|
When we run "jrnl --tags"
|
|
Then we should get no error
|
|
and the output should be
|
|
"""
|
|
@newline : 1
|
|
@email : 1
|
|
"""
|
|
|
|
Scenario: Entry cans start and end with tags
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl today: @foo came over, we went to a @bar"
|
|
When we run "jrnl --tags"
|
|
Then the output should be
|
|
"""
|
|
@foo : 1
|
|
@bar : 1
|
|
"""
|
|
|
|
Scenario: Excluding a tag should filter it
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl today: @foo came over, we went to a bar"
|
|
When we run "jrnl I have decided I did not enjoy that @bar"
|
|
When we run "jrnl --tags -not @bar"
|
|
Then the output should be
|
|
"""
|
|
@foo : 1
|
|
"""
|
|
|
|
Scenario: Excluding a tag should filter an entry, even if an unfiltered tag is in that entry
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl today: I do @not think this will show up @thought"
|
|
When we run "jrnl today: I think this will show up @thought"
|
|
When we run "jrnl --tags -not @not"
|
|
Then the output should be
|
|
"""
|
|
@thought : 1
|
|
"""
|
|
|
|
Scenario: Excluding multiple tags should filter them
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl today: I do @not think this will show up @thought"
|
|
When we run "jrnl today: I think this will show up @thought"
|
|
When we run "jrnl today: This should @never show up @thought"
|
|
When we run "jrnl today: What a nice day for filtering @thought"
|
|
When we run "jrnl --tags -not @not -not @never"
|
|
Then the output should be
|
|
"""
|
|
@thought : 2
|
|
"""
|
|
|
|
|
|
Scenario: Printing a journal that has multiline entries with tags
|
|
Given we use the config "multiline-tags.yaml"
|
|
When we run "jrnl -n 1"
|
|
Then we should get no error
|
|
and the output should be
|
|
"""
|
|
2013-06-09 15:39 Multiple @line entry with @tags.
|
|
| Tag with @punctuation. afterwards
|
|
| @TagOnLineAloneWithOutPunctuation
|
|
| @TagOnLineAloneWithPunctuation.
|
|
| Text before @tag. And After.
|
|
| @hi. Hello
|
|
| hi Hello
|
|
"""
|
|
|
|
Scenario: Searching a journal for tags should display entries with that tag.
|
|
Given we use the config "tags.yaml"
|
|
When we run "jrnl @dan"
|
|
Then the output should be
|
|
"""
|
|
2013-06-10 15:40 I met with @dan.
|
|
| As alway's he shared his latest @idea on how to rule the world with me.
|
|
| inst
|
|
"""
|
|
|
|
Scenario: Searching a journal for multiple tags with -and should display entries with those tags.
|
|
Given we use the config "tags.yaml"
|
|
When we run "jrnl -and @idea @journal"
|
|
Then the output should be
|
|
"""
|
|
2013-04-09 15:39 I have an @idea:
|
|
| (1) write a command line @journal software
|
|
| (2) ???
|
|
| (3) PROFIT!
|
|
"""
|