mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-07-05 16:06:14 +02:00
Standardize and clean up star and write features
This commit is contained in:
parent
379a63c8f1
commit
66b9f5a461
3 changed files with 81 additions and 79 deletions
|
@ -1,20 +1,20 @@
|
||||||
Feature: Starring entries
|
Feature: Starring entries
|
||||||
|
|
||||||
Scenario Outline: Starring an entry will mark it in the journal file
|
Scenario Outline: Starring an entry will mark it in the journal file
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl 20 july 2013 *: Best day of my life!"
|
When we run "jrnl 20 july 2013 *: Best day of my life!"
|
||||||
Then we should see the message "Entry added"
|
Then we should see the message "Entry added"
|
||||||
When we run "jrnl -on 2013-07-20 -starred"
|
When we run "jrnl -on 2013-07-20 -starred"
|
||||||
Then the output should contain "2013-07-20 09:00 Best day of my life!"
|
Then the output should contain "2013-07-20 09:00 Best day of my life!"
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| basic |
|
||||||
| "empty_folder.yaml" |
|
| empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario Outline: Filtering by starred entries
|
Scenario Outline: Filtering by starred entries will show only starred entries
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl -starred"
|
When we run "jrnl -starred"
|
||||||
Then the output should be empty
|
Then the output should be empty
|
||||||
When we run "jrnl 20 july 2013 *: Best day of my life!"
|
When we run "jrnl 20 july 2013 *: Best day of my life!"
|
||||||
|
@ -22,10 +22,10 @@ Feature: Starring entries
|
||||||
Then the output should be "2013-07-20 09:00 Best day of my life!"
|
Then the output should be "2013-07-20 09:00 Best day of my life!"
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| basic |
|
||||||
| "empty_folder.yaml" |
|
| empty_folder |
|
||||||
| "dayone_empty.yaml" |
|
| dayone_empty |
|
||||||
|
|
||||||
Scenario: Starring an entry will mark it in an encrypted journal
|
Scenario: Starring an entry will mark it in an encrypted journal
|
||||||
Given we use the config "encrypted.yaml"
|
Given we use the config "encrypted.yaml"
|
||||||
|
|
|
@ -433,6 +433,7 @@ def check_output_not_inline(context, text):
|
||||||
|
|
||||||
|
|
||||||
@then('we should see the message "{text}"')
|
@then('we should see the message "{text}"')
|
||||||
|
@then('the error output should be "{text}"')
|
||||||
def check_message(context, text):
|
def check_message(context, text):
|
||||||
out = context.stderr_capture.getvalue()
|
out = context.stderr_capture.getvalue()
|
||||||
assert text in out, [text, out]
|
assert text in out, [text, out]
|
||||||
|
|
|
@ -1,116 +1,119 @@
|
||||||
Feature: Writing new entries.
|
Feature: Writing new entries.
|
||||||
|
|
||||||
Scenario Outline: Multiline entry with punctuation
|
Scenario Outline: Multiline entry with punctuation should keep title punctuation
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl This is. the title\\n This is the second line"
|
When we run "jrnl This is. the title\\n This is the second line"
|
||||||
And we run "jrnl -n 1"
|
And we run "jrnl -n 1"
|
||||||
Then the output should contain "This is. the title"
|
Then the output should contain "This is. the title"
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| basic |
|
||||||
| "empty_folder.yaml" |
|
| empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario: Multiline entry with punctuation in encrypted journal
|
Scenario: Multiline entry with punctuation should keep title punctuation in encrypted journal
|
||||||
Given we use the config "encrypted.yaml"
|
Given we use the config "encrypted.yaml"
|
||||||
When we run "jrnl This is. the title\\n This is the second line" and enter "bad doggie no biscuit"
|
When we run "jrnl This is. the title\\n This is the second line" and enter "bad doggie no biscuit"
|
||||||
And we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
And we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
||||||
Then the output should contain "This is. the title"
|
Then the output should contain "This is. the title"
|
||||||
|
|
||||||
Scenario Outline: Single line entry with punctuation
|
Scenario Outline: Single line entry with period should be split at period
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl This is. the title"
|
When we run "jrnl This is. the title"
|
||||||
And we run "jrnl -n 1"
|
And we run "jrnl -n 1"
|
||||||
Then the output should contain "| the title"
|
Then the output should contain "| the title"
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| basic |
|
||||||
| "empty_folder.yaml" |
|
| empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario: Single line entry with punctuation in encrypted journal
|
Scenario: Single line entry with period should be split at period
|
||||||
Given we use the config "encrypted.yaml"
|
Given we use the config "encrypted.yaml"
|
||||||
When we run "jrnl This is. the title" and enter "bad doggie no biscuit"
|
When we run "jrnl This is. the title" and enter "bad doggie no biscuit"
|
||||||
And we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
And we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
||||||
Then the output should contain "| the title"
|
Then the output should contain "| the title"
|
||||||
|
|
||||||
Scenario Outline: Writing an entry from command line
|
Scenario Outline: Writing an entry from command line should store the entry
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
|
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
|
||||||
Then we should see the message "Entry added"
|
Then we should see the message "Entry added"
|
||||||
When we run "jrnl -n 1"
|
When we run "jrnl -n 1"
|
||||||
Then the output should contain "2013-07-23 09:00 A cold and stormy day."
|
Then the output should contain "2013-07-23 09:00 A cold and stormy day."
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| basic |
|
||||||
| "empty_folder.yaml" |
|
| empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario: Writing an entry from command line in encrypted journal
|
Scenario: Writing an entry from command line should store the entry (encrypted journal)
|
||||||
Given we use the config "encrypted.yaml"
|
Given we use the config "encrypted.yaml"
|
||||||
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." and enter "bad doggie no biscuit"
|
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." and enter "bad doggie no biscuit"
|
||||||
Then we should see the message "Entry added"
|
Then we should see the message "Entry added"
|
||||||
When we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
When we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
||||||
Then the output should contain "2013-07-23 09:00 A cold and stormy day."
|
Then the output should contain "2013-07-23 09:00 A cold and stormy day."
|
||||||
|
|
||||||
Scenario Outline: Writing an empty entry from the editor
|
Scenario Outline: Writing an empty entry from the editor should yield "Nothing saved to file" message
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we open the editor and enter nothing
|
When we open the editor and enter nothing
|
||||||
Then we should see the message "[Nothing saved to file]"
|
Then the error output should contain "[Nothing saved to file]"
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "editor.yaml" |
|
| editor |
|
||||||
| "editor_empty_folder.yaml" |
|
| editor_empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
@todo # this might need a new step for editors + encryption
|
@todo # this might need a new step for editors + encryption
|
||||||
Scenario: Writing an empty entry from the editor in encrypted journal
|
Scenario: Writing an empty entry from the editor in encrypted journal should yield "Nothing saved to file" message
|
||||||
Given we use the config "editor_encrypted.yaml"
|
Given we use the config "editor_encrypted.yaml"
|
||||||
#When we open the editor and enter nothing
|
#When we open the editor and enter nothing
|
||||||
#Then we should see the message "[Nothing saved to file]"
|
#Then we should see the message "[Nothing saved to file]"
|
||||||
|
|
||||||
Scenario: Writing an empty entry from the command line
|
Scenario Outline: Writing an empty entry from the command line with no editor should yield nothing
|
||||||
Given we use the config "basic.yaml"
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl" and enter nothing
|
When we run "jrnl" and enter nothing
|
||||||
Then the output should be empty
|
Then the output should be empty
|
||||||
|
And the error output should contain "Writing Entry; on a blank line"
|
||||||
And the editor should not have been called
|
And the editor should not have been called
|
||||||
|
|
||||||
|
Examples: configs
|
||||||
|
| config_file |
|
||||||
|
| basic |
|
||||||
|
| empty_folder |
|
||||||
|
|
||||||
@todo # There is a problem with DayOne behave tests and console input
|
@todo # There is a problem with DayOne behave tests and console input
|
||||||
Scenario: Writing an empty entry from the command line in DayOne journal
|
Scenario: Writing an empty entry from the command line in DayOne journal
|
||||||
|
|
||||||
Scenario: Writing an empty entry from the command line in folder journal
|
|
||||||
Given we use the config "empty_folder.yaml"
|
|
||||||
When we run "jrnl" and enter nothing
|
|
||||||
Then the output should be empty
|
|
||||||
And the editor should not have been called
|
|
||||||
|
|
||||||
@todo # Need some steps for encryption + editor
|
@todo # Need some steps for encryption + editor
|
||||||
Scenario: Writing an empty entry from the command line in encrypted journal
|
Scenario: Writing an empty entry from the command line in encrypted journal
|
||||||
|
|
||||||
Scenario Outline: Writing an empty entry from the editor
|
Scenario Outline: Writing an empty entry from the editor should yield nothing
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl" and enter nothing
|
When we run "jrnl" and enter nothing
|
||||||
Then the output should be empty
|
Then the output should be empty
|
||||||
|
And the error output should contain "[Nothing saved to file]"
|
||||||
And the editor should have been called
|
And the editor should have been called
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "editor.yaml" |
|
| editor |
|
||||||
| "editor_empty_folder.yaml" |
|
| editor_empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario: Writing an empty entry from the editor in encrypted journal
|
Scenario: Writing an empty entry from the editor should yield nothing in encrypted journal
|
||||||
Given we use the config "editor_encrypted.yaml"
|
Given we use the config "editor_encrypted.yaml"
|
||||||
When we run "jrnl" and enter "bad doggie no biscuit"
|
When we run "jrnl" and enter "bad doggie no biscuit"
|
||||||
Then the editor should have been called
|
Then the output should be "Password:"
|
||||||
|
And the error output should contain "[Nothing saved to file]"
|
||||||
|
And the editor should have been called
|
||||||
|
|
||||||
Scenario Outline: Writing an entry does not print the entire journal
|
Scenario Outline: Writing an entry does not print the entire journal
|
||||||
# https://github.com/jrnl-org/jrnl/issues/87
|
# https://github.com/jrnl-org/jrnl/issues/87
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
|
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
|
||||||
Then we should see the message "Entry added"
|
Then we should see the message "Entry added"
|
||||||
When we run "jrnl -n 1"
|
When we run "jrnl -n 1"
|
||||||
|
@ -118,9 +121,9 @@ Feature: Writing new entries.
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| editor |
|
||||||
| "empty_folder.yaml" |
|
| editor_empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario: Writing an entry in encrypted journal does not print the entire journal
|
Scenario: Writing an entry in encrypted journal does not print the entire journal
|
||||||
Given we use the config "encrypted.yaml"
|
Given we use the config "encrypted.yaml"
|
||||||
|
@ -130,7 +133,7 @@ Feature: Writing new entries.
|
||||||
Then the output should not contain "Life is good"
|
Then the output should not contain "Life is good"
|
||||||
|
|
||||||
Scenario Outline: Embedded period stays in title
|
Scenario Outline: Embedded period stays in title
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic."
|
When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic."
|
||||||
Then we should see the message "Entry added"
|
Then we should see the message "Entry added"
|
||||||
When we run "jrnl -1"
|
When we run "jrnl -1"
|
||||||
|
@ -141,10 +144,10 @@ Feature: Writing new entries.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| basic |
|
||||||
| "empty_folder.yaml" |
|
| empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario: Embedded period stays in title in encrypted journal
|
Scenario: Embedded period stays in title in encrypted journal
|
||||||
Given we use the config "encrypted.yaml"
|
Given we use the config "encrypted.yaml"
|
||||||
|
@ -158,7 +161,7 @@ Feature: Writing new entries.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
Scenario Outline: Write and read emoji support
|
Scenario Outline: Write and read emoji support
|
||||||
Given we use the config <config_file>
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘"
|
When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘"
|
||||||
Then we should see the message "Entry added"
|
Then we should see the message "Entry added"
|
||||||
When we run "jrnl -n 1"
|
When we run "jrnl -n 1"
|
||||||
|
@ -166,10 +169,10 @@ Feature: Writing new entries.
|
||||||
And the output should contain "🐘"
|
And the output should contain "🐘"
|
||||||
|
|
||||||
Examples: configs
|
Examples: configs
|
||||||
| config_file |
|
| config_file |
|
||||||
| "basic.yaml" |
|
| basic |
|
||||||
| "empty_folder.yaml" |
|
| empty_folder |
|
||||||
| "dayone.yaml" |
|
| dayone |
|
||||||
|
|
||||||
Scenario: Write and read emoji support in encrypted journal
|
Scenario: Write and read emoji support in encrypted journal
|
||||||
Given we use the config "encrypted.yaml"
|
Given we use the config "encrypted.yaml"
|
||||||
|
@ -179,21 +182,19 @@ Feature: Writing new entries.
|
||||||
Then the output should contain "🌞"
|
Then the output should contain "🌞"
|
||||||
And the output should contain "🐘"
|
And the output should contain "🐘"
|
||||||
|
|
||||||
Scenario: Writing an entry at the prompt (no editor)
|
Scenario Outline: Writing an entry at the prompt (no editor) should store the entry
|
||||||
Given we use the config "basic.yaml"
|
Given we use the config "<config_file>.yaml"
|
||||||
When we run "jrnl" and enter "25 jul 2013: I saw Elvis. He's alive."
|
|
||||||
Then we should get no error
|
|
||||||
And the journal should contain "[2013-07-25 09:00] I saw Elvis."
|
|
||||||
And the journal should contain "He's alive."
|
|
||||||
|
|
||||||
Scenario: Writing an entry at the prompt (no editor) in folder journal
|
|
||||||
Given we use the config "empty_folder.yaml"
|
|
||||||
When we run "jrnl" and enter "25 jul 2013: I saw Elvis. He's alive."
|
When we run "jrnl" and enter "25 jul 2013: I saw Elvis. He's alive."
|
||||||
Then we should get no error
|
Then we should get no error
|
||||||
When we run "jrnl -on '2013-07-25'"
|
When we run "jrnl -on '2013-07-25'"
|
||||||
Then the output should contain "2013-07-25 09:00 I saw Elvis."
|
Then the output should contain "2013-07-25 09:00 I saw Elvis."
|
||||||
And the output should contain "| He's alive."
|
And the output should contain "| He's alive."
|
||||||
|
|
||||||
|
Examples: configs
|
||||||
|
| config_file |
|
||||||
|
| basic |
|
||||||
|
| empty_folder |
|
||||||
|
|
||||||
@todo # Need to test DayOne w/out an editor
|
@todo # Need to test DayOne w/out an editor
|
||||||
Scenario: Writing an entry at the prompt (no editor) in DayOne journal
|
Scenario: Writing an entry at the prompt (no editor) in DayOne journal
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue