mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-20 21:18:32 +02:00
Add write tests for each journal type
This commit is contained in:
parent
607aa7a5a1
commit
a6b646bb44
3 changed files with 184 additions and 16 deletions
12
features/data/configs/editor_empty_folder.yaml
Normal file
12
features/data/configs/editor_empty_folder.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: 'vim'
|
||||
template: false
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/empty_folder
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
17
features/data/configs/editor_encrypted.yaml
Normal file
17
features/data/configs/editor_encrypted.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
colors:
|
||||
body: green
|
||||
date: blue
|
||||
tags: none
|
||||
title: yellow
|
||||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: "vim"
|
||||
encrypt: true
|
||||
template: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/encrypted.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,51 +1,136 @@
|
|||
Feature: Writing new entries.
|
||||
|
||||
Scenario: Multiline entry with punctuation
|
||||
Given we use the config "basic.yaml"
|
||||
Scenario Outline: Multiline entry with punctuation
|
||||
Given we use the config <config_file>
|
||||
When we run "jrnl This is. the title\\n This is the second line"
|
||||
And we run "jrnl -n 1"
|
||||
Then the output should contain "This is. the title"
|
||||
|
||||
Scenario: Single line entry with punctuation
|
||||
Given we use the config "basic.yaml"
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "basic.yaml" |
|
||||
| "empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
Scenario: Multiline entry with punctuation in encrypted journal
|
||||
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"
|
||||
And we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
||||
Then the output should contain "This is. the title"
|
||||
|
||||
Scenario Outline: Single line entry with punctuation
|
||||
Given we use the config <config_file>
|
||||
When we run "jrnl This is. the title"
|
||||
And we run "jrnl -n 1"
|
||||
Then the output should contain "| the title"
|
||||
|
||||
Scenario: Writing an entry from command line
|
||||
Given we use the config "basic.yaml"
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "basic.yaml" |
|
||||
| "empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
Scenario: Single line entry with punctuation in encrypted journal
|
||||
Given we use the config "encrypted.yaml"
|
||||
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"
|
||||
Then the output should contain "| the title"
|
||||
|
||||
Scenario Outline: Writing an entry from command line
|
||||
Given we use the config <config_file>
|
||||
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"
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should contain "2013-07-23 09:00 A cold and stormy day."
|
||||
|
||||
Scenario: Writing an empty entry from the editor
|
||||
Given we use the config "editor.yaml"
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "basic.yaml" |
|
||||
| "empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
Scenario: Writing an entry from command line in encrypted journal
|
||||
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"
|
||||
Then we should see the message "Entry added"
|
||||
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."
|
||||
|
||||
Scenario Outline: Writing an empty entry from the editor
|
||||
Given we use the config <config_file>
|
||||
When we open the editor and enter nothing
|
||||
Then we should see the message "[Nothing saved to file]"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "editor.yaml" |
|
||||
| "editor_empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
@todo # this might need a new step for editors + encryption
|
||||
Scenario: Writing an empty entry from the editor in encrypted journal
|
||||
Given we use the config "editor_encrypted.yaml"
|
||||
#When we open the editor and enter nothing
|
||||
#Then we should see the message "[Nothing saved to file]"
|
||||
|
||||
Scenario: Writing an empty entry from the command line
|
||||
Given we use the config "basic.yaml"
|
||||
When we run "jrnl" and enter nothing
|
||||
Then the output should be empty
|
||||
And the editor should not have been called
|
||||
|
||||
Scenario: Writing an empty entry from the editor
|
||||
Given we use the config "editor.yaml"
|
||||
@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 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
|
||||
Scenario: Writing an empty entry from the command line in encrypted journal
|
||||
|
||||
Scenario Outline: Writing an empty entry from the editor
|
||||
Given we use the config <config_file>
|
||||
When we run "jrnl" and enter nothing
|
||||
Then the output should be empty
|
||||
And the editor should have been called
|
||||
|
||||
Scenario: Writing an entry does not print the entire journal
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "editor.yaml" |
|
||||
| "editor_empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
Scenario: Writing an empty entry from the editor in encrypted journal
|
||||
Given we use the config "editor_encrypted.yaml"
|
||||
When we run "jrnl" and enter "bad doggie no biscuit"
|
||||
Then the editor should have been called
|
||||
|
||||
Scenario Outline: Writing an entry does not print the entire journal
|
||||
# https://github.com/jrnl-org/jrnl/issues/87
|
||||
Given we use the config "basic.yaml"
|
||||
Given we use the config <config_file>
|
||||
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"
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should not contain "Life is good"
|
||||
|
||||
Scenario: Title with an embedded period
|
||||
Given we use the config "basic.yaml"
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "basic.yaml" |
|
||||
| "empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
Scenario: Writing an entry in encrypted journal does not print the entire journal
|
||||
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"
|
||||
Then we should see the message "Entry added"
|
||||
When we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
||||
Then the output should not contain "Life is good"
|
||||
|
||||
Scenario Outline: Embedded period stays in title
|
||||
Given we use the config <config_file>
|
||||
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"
|
||||
When we run "jrnl -1"
|
||||
|
@ -55,14 +140,45 @@ Feature: Writing new entries.
|
|||
| Hope to get a lot of traffic.
|
||||
"""
|
||||
|
||||
Scenario: Emoji support
|
||||
Given we use the config "basic.yaml"
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "basic.yaml" |
|
||||
| "empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
Scenario: Embedded period stays in title in encrypted journal
|
||||
Given we use the config "encrypted.yaml"
|
||||
When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic." and enter "bad doggie no biscuit"
|
||||
Then we should see the message "Entry added"
|
||||
When we run "jrnl -1" and enter "bad doggie no biscuit"
|
||||
Then the output should contain
|
||||
"""
|
||||
2014-04-24 09:00 Created a new website - empty.com.
|
||||
| Hope to get a lot of traffic.
|
||||
"""
|
||||
|
||||
Scenario Outline: Write and read emoji support
|
||||
Given we use the config <config_file>
|
||||
When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘"
|
||||
Then we should see the message "Entry added"
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should contain "🌞"
|
||||
And the output should contain "🐘"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| "basic.yaml" |
|
||||
| "empty_folder.yaml" |
|
||||
| "dayone.yaml" |
|
||||
|
||||
Scenario: Write and read emoji support in encrypted journal
|
||||
Given we use the config "encrypted.yaml"
|
||||
When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘" and enter "bad doggie no biscuit"
|
||||
Then we should see the message "Entry added"
|
||||
When we run "jrnl -n 1" and enter "bad doggie no biscuit"
|
||||
Then the output should contain "🌞"
|
||||
And the output should contain "🐘"
|
||||
|
||||
Scenario: Writing an entry at the prompt (no editor)
|
||||
Given we use the config "basic.yaml"
|
||||
When we run "jrnl" and enter "25 jul 2013: I saw Elvis. He's alive."
|
||||
|
@ -70,6 +186,29 @@ Feature: Writing new entries.
|
|||
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."
|
||||
Then we should get no error
|
||||
When we run "jrnl -on '2013-07-25'"
|
||||
Then the output should contain "2013-07-25 09:00 I saw Elvis."
|
||||
And the output should contain "| He's alive."
|
||||
|
||||
@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 encrypted journal
|
||||
Given we use the config "encrypted.yaml"
|
||||
When we run "jrnl" and enter
|
||||
"""
|
||||
bad doggie no biscuit
|
||||
25 jul 2013: I saw Elvis. He's alive.
|
||||
"""
|
||||
Then we should get no error
|
||||
When we run "jrnl -on '2013-07-25'" and enter "bad doggie no biscuit"
|
||||
Then the output should contain "2013-07-25 09:00 I saw Elvis."
|
||||
And the output should contain "| He's alive."
|
||||
|
||||
Scenario: Writing into Dayone
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl 01 may 1979: Being born hurts."
|
||||
|
|
Loading…
Add table
Reference in a new issue