mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-07-05 16:06:14 +02:00
make clean example
This commit is contained in:
parent
03d5d3ee2f
commit
0794b5ca4b
195 changed files with 23 additions and 15490 deletions
|
@ -1,108 +0,0 @@
|
|||
# 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
|
|
@ -1,10 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Build process
|
||||
|
||||
Scenario: Version numbers should stay in sync
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl --version"
|
||||
Then we should get no error
|
||||
And the output should contain pyproject.toml version
|
|
@ -1,273 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Change entry times in journal
|
||||
Scenario Outline: Change time flag changes single entry timestamp
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "2020-09-24 09:14 The third entry finally"
|
||||
When we run "jrnl -1 --change-time '2022-04-23 10:30'" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry modified"
|
||||
And the error output should not contain "deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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.
|
||||
2022-04-23 10:30 The third entry finally after weeks without writing.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
Scenario Outline: Change flag changes prompted entries
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --short"
|
||||
Then 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.
|
||||
When we run "jrnl --change-time '2022-04-23 10:30'" and enter
|
||||
Y
|
||||
N
|
||||
Y
|
||||
Then the error output should contain "3 entries found"
|
||||
And the error output should contain "2 entries modified"
|
||||
When we run "jrnl --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_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Answering "N" to change-time prompt deletes no entries
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "2020-09-24 09:14 The third entry finally"
|
||||
When we run "jrnl -1 --change-time '2023-02-21 10:30'" and enter
|
||||
N
|
||||
Then the error output should not contain "modified"
|
||||
And the error output should not contain "deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
Scenario Outline: Change time flag with nonsense input changes nothing
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time now asdfasdf"
|
||||
Then the output should contain "No entries to modify"
|
||||
And the error output should not contain "entries modified"
|
||||
And the error output should not contain "entries deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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_encrypted.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
Scenario Outline: Change time flag with tag only changes tagged entries
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' @ipsum" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry found"
|
||||
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.
|
||||
2020-09-24 09:14 The third entry finally after weeks without writing.
|
||||
2022-04-23 10:30 Entry the first.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Change time flag with multiple tags changes all entries matching any of the tags
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' @ipsum @tagthree" and enter
|
||||
Y
|
||||
Y
|
||||
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: Change time flag with -and changes boolean AND of tagged entries
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' -and @tagone @tagtwo" and enter
|
||||
Y
|
||||
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.
|
||||
2020-09-24 09:14 The third entry finally after weeks without writing.
|
||||
2022-04-23 10:30 Entry the first.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Change time flag with -not does not change entries from given tag
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' @tagone -not @ipsum" and enter
|
||||
Y
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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.
|
||||
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: Change time flag with -from search operator only changes entries since that date
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' -from 2020-09-01" and enter
|
||||
Y
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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.
|
||||
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: Change time flag with -to only changes entries up to specified date
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' -to 2020-08-31" and enter
|
||||
Y
|
||||
Y
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2020-09-24 09:14 The third entry finally after weeks without writing.
|
||||
2022-04-23 10:30 Entry the first.
|
||||
2022-04-23 10:30 A second entry in what I hope to be a long series.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Change time flag with -starred only changes starred entries
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' -starred" and enter
|
||||
Y
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2020-08-29 11:11 Entry the first.
|
||||
2020-09-24 09:14 The third entry finally after weeks without writing.
|
||||
2022-04-23 10:30 A second entry in what I hope to be a long series.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Change time flag with -contains only changes entries containing expression
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time '2022-04-23 10:30' -contains dignissim" and enter
|
||||
Y
|
||||
Then 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.
|
||||
2020-09-24 09:14 The third entry finally after weeks without writing.
|
||||
2022-04-23 10:30 Entry the first.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Change time flag with no entries specified changes nothing
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --change-time" and enter
|
||||
N
|
||||
N
|
||||
N
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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_encrypted.yaml |
|
||||
| basic_dayone.yaml |
|
|
@ -1,141 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Multiple journals
|
||||
|
||||
Scenario: Read a journal from an alternate config
|
||||
Given the config "basic_onefile.yaml" exists
|
||||
And we use the config "multiple.yaml"
|
||||
When we run "jrnl --cf basic_onefile.yaml -999"
|
||||
Then the output should not contain "My first entry" # from multiple.yaml
|
||||
And the output should contain "Lorem ipsum" # from basic_onefile.yaml
|
||||
|
||||
Scenario: Write to default journal by default using an alternate config
|
||||
Given the config "multiple.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl --cf multiple.yaml this goes to default"
|
||||
And we run "jrnl -1"
|
||||
Then the output should not contain "this goes to default"
|
||||
When we run "jrnl --cf multiple.yaml -1"
|
||||
Then the output should contain "this goes to default"
|
||||
|
||||
Scenario: Write to specified journal using an alternate config
|
||||
Given the config "multiple.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl work --cf multiple.yaml a long day in the office"
|
||||
And we run "jrnl default --cf multiple.yaml -1"
|
||||
Then the output should contain "But I'm better"
|
||||
When we run "jrnl work --cf multiple.yaml -1"
|
||||
Then the output should contain "a long day in the office"
|
||||
|
||||
Scenario: Tell user which journal was used while using an alternate config
|
||||
Given the config "multiple.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl --cf multiple.yaml work a long day in the office"
|
||||
Then the output should contain "Entry added to work journal"
|
||||
|
||||
Scenario: Write to specified journal with a timestamp using an alternate config
|
||||
Given the config "multiple.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl work --cf multiple.yaml 23 july 2012: a long day in the office"
|
||||
And we run "jrnl --cf multiple.yaml -1"
|
||||
Then the output should contain "But I'm better"
|
||||
When we run "jrnl --cf multiple.yaml work -1"
|
||||
Then the output should contain "a long day in the office"
|
||||
And the output should contain "2012-07-23"
|
||||
|
||||
Scenario: Write to specified journal without a timestamp but with colon using an alternate config
|
||||
Given the config "multiple.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl work --cf multiple.yaml : a long day in the office"
|
||||
And we run "jrnl --cf multiple.yaml -1"
|
||||
Then the output should contain "But I'm better"
|
||||
When we run "jrnl --cf multiple.yaml work -1"
|
||||
Then the output should contain "a long day in the office"
|
||||
|
||||
Scenario: Create new journals as required using an alternate config
|
||||
Given the config "multiple.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl ideas -1"
|
||||
Then the output should be empty
|
||||
When we run "jrnl ideas --cf multiple.yaml 23 july 2012: sell my junk on ebay and make lots of money"
|
||||
Then the output should contain "Journal 'ideas' created"
|
||||
When we run "jrnl ideas --cf multiple.yaml -1"
|
||||
Then the output should contain "sell my junk on ebay and make lots of money"
|
||||
|
||||
Scenario: Don't crash if no default journal is specified using an alternate config
|
||||
Given the config "no_default_journal.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl --cf no_default_journal.yaml a long day in the office"
|
||||
Then the output should contain "No 'default' journal configured"
|
||||
|
||||
Scenario: Don't crash if no file exists for a configured encrypted journal using an alternate config
|
||||
Given the config "multiple.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl new_encrypted --cf multiple.yaml Adding first entry" and enter
|
||||
these three eyes
|
||||
these three eyes
|
||||
n
|
||||
Then the output should contain "Journal 'new_encrypted' created at "
|
||||
|
||||
Scenario: Don't overwrite main config when encrypting a journal in an alternate config
|
||||
Given the config "basic_onefile.yaml" exists
|
||||
And we use the config "multiple.yaml"
|
||||
When we run "jrnl --cf basic_onefile.yaml --encrypt" and enter
|
||||
these three eyes
|
||||
these three eyes
|
||||
n
|
||||
Then the output should contain "Journal encrypted to features/journals/basic_onefile.journal"
|
||||
And the config should contain "encrypt: false"
|
||||
|
||||
Scenario: Don't overwrite main config when decrypting a journal in an alternate config
|
||||
Given the config "editor_encrypted.yaml" exists
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
And we use the config "basic_encrypted.yaml"
|
||||
When we run "jrnl --cf editor_encrypted.yaml --decrypt"
|
||||
Then the config should contain "encrypt: true"
|
||||
And the output should not contain "Wrong password"
|
||||
|
||||
Scenario: Show an error message when the config file is empty
|
||||
Given we use the config "empty_file.yaml"
|
||||
When we run "jrnl -1"
|
||||
Then the error output should contain "Unable to parse config file"
|
||||
|
||||
Scenario: Show an error message when using --config-file with empty file
|
||||
Given the config "empty_file.yaml" exists
|
||||
And we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl --cf empty_file.yaml"
|
||||
Then the error output should contain "Unable to parse config file"
|
||||
|
||||
Scenario: Use a config file with linewrap set to 'auto'
|
||||
Given we use the config "linewrap_auto.yaml"
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "Life is good."
|
||||
|
||||
Scenario: Use a config file with linewrap set to 'auto' and use format 'fancy'
|
||||
Given we use the config "linewrap_auto.yaml"
|
||||
When we run "jrnl -1 --format fancy"
|
||||
Then the output should contain "Life is good."
|
||||
|
||||
Scenario: Show a warning message when the config file contains duplicate keys at the same level
|
||||
Given the config "duplicate_keys.yaml" exists
|
||||
And we use the config "duplicate_keys.yaml"
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "There is at least one duplicate key in your configuration file"
|
||||
|
||||
Scenario: Show a warning message when using --config-file with duplicate keys
|
||||
Given the config "duplicate_keys.yaml" exists
|
||||
And we use the config "multiple.yaml"
|
||||
When we run "jrnl --cf duplicate_keys.yaml -1"
|
||||
Then the output should contain "There is at least one duplicate key in your configuration file"
|
||||
|
||||
Scenario: Don't show a duplicate keys warning message when using --config-override on an existing value
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl --config-override highlight false"
|
||||
Then the output should not contain "There is at least one duplicate key in your configuration file"
|
||||
|
||||
Scenario: Update version number in config file when running newer version
|
||||
Given we use the config "format_md.yaml"
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "Configuration updated to newest version at"
|
||||
And the version in the config file should be up-to-date
|
|
@ -1,21 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Functionality of jrnl outside of actually handling journals
|
||||
|
||||
Scenario: Displaying the version number
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl --version"
|
||||
Then we should get no error
|
||||
Then the output should match "^jrnl v\d+\.\d+(\.\d+)?(-(alpha|beta)\d*)?"
|
||||
|
||||
Scenario: Running the diagnostic command
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl --diagnostic"
|
||||
Then the output should contain "jrnl"
|
||||
And the output should contain "Python"
|
||||
And the output should contain "OS"
|
||||
|
||||
@todo
|
||||
Scenario: Listing available journals
|
||||
|
|
@ -1,203 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Reading and writing to journal with custom date formats
|
||||
|
||||
Scenario: Dates can include a time
|
||||
# https://github.com/jrnl-org/jrnl/issues/117
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl 2013-11-30 15:42: Project Started."
|
||||
Then we should get no error
|
||||
When we run "jrnl -999"
|
||||
Then the output should contain "2013-11-30 15:42 Project Started."
|
||||
|
||||
|
||||
Scenario: Dates can be in the future
|
||||
# https://github.com/jrnl-org/jrnl/issues/185
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl 26/06/2099: Planet? Earth. Year? 2099."
|
||||
Then we should get no error
|
||||
When we run "jrnl -999"
|
||||
Then the output should contain "2099-06-26 09:00 Planet?"
|
||||
|
||||
|
||||
Scenario: Loading a sample journal with custom date
|
||||
Given we use the config "little_endian_dates.yaml"
|
||||
When we run "jrnl -n 2"
|
||||
Then we should get no error
|
||||
When we run "jrnl -n 999"
|
||||
Then the output should be
|
||||
09.06.2013 15:39 My first entry.
|
||||
| Everything is alright
|
||||
|
||||
10.07.2013 15:40 Life is good.
|
||||
| But I'm better.
|
||||
|
||||
|
||||
Scenario Outline: Writing an entry from command line with custom date
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl <command>"
|
||||
Then we should get no error
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should contain "<expected_output>"
|
||||
|
||||
Examples: Day-first Dates
|
||||
| config_file | command | expected_output |
|
||||
| little_endian_dates.yaml | 2020-09-19: My first entry. | 19.09.2020 09:00 My first entry. |
|
||||
| little_endian_dates.yaml | 2020-08-09: My second entry. | 09.08.2020 09:00 My second entry. |
|
||||
| little_endian_dates.yaml | 2020-02-29: Test. | 29.02.2020 09:00 Test. |
|
||||
| little_endian_dates.yaml | 2019-02-29: Test. | 2019-02-29: Test. |
|
||||
| little_endian_dates.yaml | 2020-08-32: Test. | 2020-08-32: Test. |
|
||||
| little_endian_dates.yaml | 2032-02-01: Test. | 01.02.2032 09:00 Test. |
|
||||
| little_endian_dates.yaml | 2020-01-01: Test. | 01.01.2020 09:00 Test. |
|
||||
| little_endian_dates.yaml | 2020-12-31: Test. | 31.12.2020 09:00 Test. |
|
||||
|
||||
|
||||
Scenario Outline: Searching for dates with custom date
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl <command>"
|
||||
Then the output should be "<expected_output>"
|
||||
|
||||
Examples: Day-first Dates
|
||||
| config_file | command | expected_output |
|
||||
| little_endian_dates.yaml | -on '2013-07-10' --short | 10.07.2013 15:40 Life is good. |
|
||||
| little_endian_dates.yaml | -on 'june 9 2013' --short | 09.06.2013 15:39 My first entry. |
|
||||
| little_endian_dates.yaml | -on 'july 10 2013' --short | 10.07.2013 15:40 Life is good. |
|
||||
| little_endian_dates.yaml | -on 'june 2013' --short | 09.06.2013 15:39 My first entry. |
|
||||
| little_endian_dates.yaml | -on 'july 2013' --short | 10.07.2013 15:40 Life is good. |
|
||||
# @todo month alone with no year should work
|
||||
# | little_endian_dates.yaml | -on 'june' --short | 09.06.2013 15:39 My first entry. |
|
||||
# | little_endian_dates.yaml | -on 'july' --short | 10.07.2013 15:40 Life is good. |
|
||||
|
||||
|
||||
Scenario: Writing an entry at the prompt with custom date
|
||||
Given we use the config "little_endian_dates.yaml"
|
||||
When we run "jrnl" and type "2013-05-10: I saw Elvis. He's alive."
|
||||
Then we should get no error
|
||||
When we run "jrnl -999"
|
||||
Then the output should contain "10.05.2013 09:00 I saw Elvis."
|
||||
And the output should contain "He's alive."
|
||||
|
||||
|
||||
Scenario: Viewing today's entries does not print the entire journal
|
||||
# see: https://github.com/jrnl-org/jrnl/issues/741
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl -on today"
|
||||
Then the output should not contain "Life is good"
|
||||
And the output should not contain "But I'm better."
|
||||
|
||||
|
||||
Scenario Outline: Create entry using day of the week as entry date one.
|
||||
Given we use the config "simple.yaml"
|
||||
And now is "2019-03-12 01:30:32 PM"
|
||||
When we run "jrnl <command>"
|
||||
Then we should get no error
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "<expected_output>"
|
||||
Then the output should contain the date "<date>"
|
||||
|
||||
Examples: Days of the week
|
||||
| command | expected_output | date |
|
||||
| Monday: entry on a monday | entry on a monday | 2019-03-11 09:00 |
|
||||
| Tuesday: entry on a tuesday | entry on a tuesday | 2019-03-05 09:00 |
|
||||
| Wednesday: entry on a wednesday | entry on a wednesday | 2019-03-06 09:00 |
|
||||
| Thursday: entry on a thursday | entry on a thursday | 2019-03-07 09:00 |
|
||||
| Friday: entry on a friday | entry on a friday | 2019-03-08 09:00 |
|
||||
| Saturday: entry on a saturday | entry on a saturday | 2019-03-09 09:00 |
|
||||
| Sunday: entry on a sunday | entry on a sunday | 2019-03-10 09:00 |
|
||||
| sunday: entry on a sunday | entry on a sunday | 2019-03-10 09:00 |
|
||||
| sUndAy: entry on a sunday | entry on a sunday | 2019-03-10 09:00 |
|
||||
|
||||
|
||||
Scenario Outline: Create entry using day of the week as entry date two.
|
||||
Given we use the config "simple.yaml"
|
||||
And now is "2019-03-12 01:30:32 PM"
|
||||
When we run "jrnl <command>"
|
||||
Then we should get no error
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "<expected_output>"
|
||||
Then the output should contain the date "<date>"
|
||||
|
||||
Examples: Days of the week
|
||||
| command | expected_output | date |
|
||||
| Mon: entry on a monday | entry on a monday | 2019-03-11 09:00 |
|
||||
| Tue: entry on a tuesday | entry on a tuesday | 2019-03-05 09:00 |
|
||||
| Wed: entry on a wednesday | entry on a wednesday | 2019-03-06 09:00 |
|
||||
| Thu: entry on a thursday | entry on a thursday | 2019-03-07 09:00 |
|
||||
| Fri: entry on a friday | entry on a friday | 2019-03-08 09:00 |
|
||||
| Sat: entry on a saturday | entry on a saturday | 2019-03-09 09:00 |
|
||||
| Sun: entry on a sunday | entry on a sunday | 2019-03-10 09:00 |
|
||||
| sun: entry on a sunday | entry on a sunday | 2019-03-10 09:00 |
|
||||
| sUn: entry on a sunday | entry on a sunday | 2019-03-10 09:00 |
|
||||
|
||||
|
||||
Scenario: Journals with unreadable dates should still be loaded
|
||||
Given we use the config "unreadabledates.yaml"
|
||||
When we run "jrnl -2"
|
||||
Then the output should contain "I've lost track of time."
|
||||
And the output should contain "Time has no meaning."
|
||||
|
||||
|
||||
Scenario: Journals with readable dates AND unreadable dates should still contain all data.
|
||||
Given we use the config "mostlyreadabledates.yaml"
|
||||
When we run "jrnl --short"
|
||||
Then the output should be
|
||||
2019-07-01 14:23 The third entry
|
||||
2019-07-18 14:23 The first entry
|
||||
2019-07-19 14:23 The second entry
|
||||
|
||||
|
||||
Scenario: Update near-valid dates after journal is edited
|
||||
Given we use the config "mostlyreadabledates.yaml"
|
||||
When we run "jrnl 2222-08-19: I have made it exactly one month into the future."
|
||||
When we run "jrnl -2"
|
||||
Then the output should contain "2019-07-19 14:23 The second entry"
|
||||
|
||||
|
||||
Scenario: Integers in square brackets should not be read as dates
|
||||
Given we use the config "brackets.yaml"
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "[1] line starting with 1"
|
||||
|
||||
|
||||
# broken still
|
||||
@skip
|
||||
Scenario: Dayone entries without timezone information are interpreted in current timezone
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl -until 'feb 2013'"
|
||||
Then we should get no error
|
||||
And the output should contain "2013-01-17T18:37Z" in the local time
|
||||
|
||||
|
||||
Scenario: Loading entry with ambiguous time stamp in timezone-aware journal (like Dayone)
|
||||
#https://github.com/jrnl-org/jrnl/issues/153
|
||||
Given we use the config "bug153.yaml"
|
||||
When we run "jrnl -1"
|
||||
Then we should get no error
|
||||
And the output should be
|
||||
2013-10-27 04:27 Some text.
|
||||
|
||||
|
||||
@skip #1422
|
||||
Scenario Outline: Using "tomorrow" near daylight savings works in Dayone journals
|
||||
Given we use the config "dayone.yaml"
|
||||
And now is "<date>"
|
||||
When we run "jrnl yesterday: This thing happened yesterday"
|
||||
Then we should get no error
|
||||
When we run "jrnl today at 11:59pm: Adding an entry right now."
|
||||
Then we should get no error
|
||||
When we run "jrnl tomorrow: A future entry."
|
||||
Then we should get no error
|
||||
When we run "jrnl -from yesterday -to today"
|
||||
Then the output should contain "This thing happened yesterday"
|
||||
And the output should contain "Adding an entry right now."
|
||||
And the output should not contain "A future entry."
|
||||
|
||||
Examples: Dates
|
||||
| date |
|
||||
| 2022-02-10 01:00:00 PM |
|
||||
| 2021-03-13 01:00:00 PM |
|
||||
| 2021-11-06 01:00:00 PM |
|
||||
| 2022-03-12 01:00:00 PM |
|
||||
| 2022-11-05 01:00:00 PM |
|
||||
|
|
@ -1,204 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Delete entries from journal
|
||||
Scenario Outline: Delete flag allows deletion of single entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "2020-09-24 09:14 The third entry finally"
|
||||
When we run "jrnl --delete" and enter
|
||||
N
|
||||
N
|
||||
Y
|
||||
Then the error output should contain "3 entries found"
|
||||
And the error output should contain "1 entry deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Backing out of interactive delete does not change journal
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete -n 1" and enter
|
||||
N
|
||||
Then the error output should not contain "deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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: Delete flag with nonsense input deletes nothing (issue #932)
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete asdfasdf"
|
||||
Then the error output should contain "No entries to delete"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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: Delete flag with tag only deletes tagged entries
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete @ipsum" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry found"
|
||||
Then the error output should contain "1 entry deleted"
|
||||
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.
|
||||
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 | @todo
|
||||
|
||||
|
||||
Scenario Outline: Delete flag with multiple tags deletes all entries matching any of the tags
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete @ipsum @tagthree" and enter
|
||||
Y
|
||||
Y
|
||||
Then the error output should contain "2 entries found"
|
||||
And the error output should contain "2 entries deleted"
|
||||
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.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Delete flag with -and deletes boolean AND of tagged entries
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete -and @tagone @tagtwo" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry found"
|
||||
And the error output should contain "1 entry deleted"
|
||||
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.
|
||||
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 | @todo
|
||||
|
||||
|
||||
Scenario Outline: Delete flag with -not does not delete entries from given tag
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete @tagone -not @ipsum" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry found"
|
||||
And the error output should contain "1 entry deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Delete flag with -from search operator only deletes entries since that date
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete -from 2020-09-01" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry found"
|
||||
And the error output should contain "1 entry deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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.
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Delete flag with -to only deletes entries up to specified date
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete -to 2020-08-31" and enter
|
||||
Y
|
||||
Y
|
||||
Then the error output should contain "2 entries found"
|
||||
And the error output should contain "2 entries deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then 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 | @todo
|
||||
|
||||
|
||||
Scenario Outline: Delete flag with -starred only deletes starred entries
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete -starred" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry deleted"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2020-08-29 11:11 Entry the first.
|
||||
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 | @todo
|
||||
|
||||
|
||||
Scenario Outline: Delete flag with -contains only entries containing expression
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --delete -contains dignissim" and enter
|
||||
Y
|
||||
Then the error output should contain "1 entry found"
|
||||
And the error output should contain "1 entry deleted"
|
||||
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.
|
||||
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 | @todo
|
|
@ -1,105 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Encrypting and decrypting journals
|
||||
|
||||
Scenario: Decrypting a journal
|
||||
Given we use the config "encrypted.yaml"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl --decrypt"
|
||||
Then the output should contain "Journal decrypted"
|
||||
And the config for journal "default" should contain "encrypt: false"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
|
||||
|
||||
@todo
|
||||
Scenario: Trying to decrypt an already unencrypted journal
|
||||
# This should warn the user that the journal is already encrypted
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl --decrypt"
|
||||
Then the config for journal "default" should contain "encrypt: false"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
|
||||
|
||||
Scenario: Trying to encrypt an already encrypted journal
|
||||
Given we use the config "encrypted.yaml"
|
||||
When we run "jrnl --encrypt" and enter "bad doggie no biscuit"
|
||||
Then the output should contain "already encrypted. Create a new password."
|
||||
Then we should be prompted for a password
|
||||
|
||||
Scenario Outline: Encrypting a journal
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl --encrypt" and enter
|
||||
swordfish
|
||||
swordfish
|
||||
n
|
||||
Then we should get no error
|
||||
And the output should contain "Journal encrypted"
|
||||
And the config for journal "default" should contain "encrypt: true"
|
||||
When we run "jrnl -n 1" and enter "swordfish"
|
||||
Then we should be prompted for a password
|
||||
And the output should contain "2013-06-10 15:40 Life is good"
|
||||
|
||||
Scenario: Encrypt journal twice and get prompted each time
|
||||
Given we use the config "simple.yaml"
|
||||
And we don't have a keyring
|
||||
When we run "jrnl --encrypt" and enter
|
||||
swordfish
|
||||
swordfish
|
||||
y
|
||||
Then we should get no error
|
||||
And the output should contain "Journal encrypted"
|
||||
When we run "jrnl --encrypt" and enter
|
||||
swordfish
|
||||
tuna
|
||||
tuna
|
||||
y
|
||||
Then we should get no error
|
||||
And the output should contain "Journal default is already encrypted. Create a new password."
|
||||
And we should be prompted for a password
|
||||
And the config for journal "default" should contain "encrypt: true"
|
||||
|
||||
Scenario: Encrypt journal twice and get prompted each time with keyring
|
||||
Given we use the config "simple.yaml"
|
||||
And we have a keyring
|
||||
When we run "jrnl --encrypt" and enter
|
||||
swordfish
|
||||
swordfish
|
||||
y
|
||||
Then we should get no error
|
||||
And the output should contain "Journal encrypted"
|
||||
When we run "jrnl --encrypt" and enter
|
||||
tuna
|
||||
tuna
|
||||
y
|
||||
Then we should get no error
|
||||
And the output should contain "Journal default is already encrypted. Create a new password."
|
||||
And we should be prompted for a password
|
||||
And the config for journal "default" should contain "encrypt: true"
|
||||
|
||||
Scenario Outline: Running jrnl with encrypt: true on unencryptable journals
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --config-override encrypt true here is a new entry"
|
||||
Then the error output should contain "journal can't be encrypted"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
Scenario Outline: Attempt to encrypt a folder or DayOne journal should result in an error
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --encrypt"
|
||||
Then the error output should contain "can't be encrypted"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
|
@ -1,75 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Journals iteracting with the file system in a way that users can see
|
||||
|
||||
Scenario: Adding entries to a Folder journal should generate date files
|
||||
Given we use the config "empty_folder.yaml"
|
||||
When we run "jrnl 23 July 2013: Testing folder journal."
|
||||
Then we should get no error
|
||||
And the journal directory should contain
|
||||
2013/07/23.txt
|
||||
|
||||
Scenario: Adding multiple entries to a Folder journal should generate multiple date files
|
||||
Given we use the config "empty_folder.yaml"
|
||||
When we run "jrnl 23 July 2013: Testing folder journal."
|
||||
And we run "jrnl 3/7/2014: Second entry of journal."
|
||||
Then we should get no error
|
||||
And the journal directory should contain
|
||||
2013/07/23.txt
|
||||
|
||||
Scenario: If the journal and its parent directory don't exist, they should be created
|
||||
Given we use the config "missing_directory.yaml"
|
||||
Then the journal should not exist
|
||||
When we run "jrnl This is a new entry in my journal"
|
||||
Then the journal should exist
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should contain "This is a new entry in my journal"
|
||||
|
||||
Scenario: If the journal file doesn't exist, then it should be created
|
||||
Given we use the config "missing_journal.yaml"
|
||||
Then the journal should not exist
|
||||
When we run "jrnl This is a new entry in my journal"
|
||||
Then the journal should exist
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should contain "This is a new entry in my journal"
|
||||
|
||||
@on_posix
|
||||
Scenario: If the directory for a Folder journal ending in a slash ('/') doesn't exist, then it should be created
|
||||
Given we use the config "missing_directory.yaml"
|
||||
Then the journal "endslash" directory should not exist
|
||||
When we run "jrnl endslash This is a new entry in my journal"
|
||||
Then the journal "endslash" directory should exist
|
||||
When we run "jrnl endslash -1"
|
||||
Then the output should contain "This is a new entry in my journal"
|
||||
|
||||
@on_win
|
||||
Scenario: If the directory for a Folder journal ending in a backslash ('\') doesn't exist, then it should be created
|
||||
Given we use the config "missing_directory.yaml"
|
||||
Then the journal "endbackslash" directory should not exist
|
||||
When we run "jrnl endbackslash This is a new entry in my journal"
|
||||
Then the journal "endbackslash" directory should exist
|
||||
When we run "jrnl endbackslash -1"
|
||||
Then the output should contain "This is a new entry in my journal"
|
||||
|
||||
Scenario: Creating journal with relative path should update to absolute path
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
test.txt
|
||||
n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
When we change directory to "subfolder"
|
||||
And we run "jrnl -n 1"
|
||||
Then the output should contain "hello world"
|
||||
|
||||
Scenario: the temporary filename suffix should default to ".jrnl"
|
||||
Given we use the config "editor.yaml"
|
||||
When we run "jrnl --edit"
|
||||
Then the editor should have been called
|
||||
Then the editor filename should end with ".jrnl"
|
||||
|
||||
Scenario: the temporary filename suffix should be "-{template_filename}"
|
||||
Given we use the config "editor_markdown_extension.yaml"
|
||||
When we run "jrnl --edit"
|
||||
Then the editor filename should end with "-extension.md"
|
|
@ -1,631 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Custom formats
|
||||
|
||||
Scenario Outline: Short printing via --format flag
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --format short -3"
|
||||
Then we should get no error
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
Scenario Outline: Pretty Printing aka the Default
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --format pretty -3"
|
||||
Then we should get no error
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
Scenario Outline: JSON format
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --format json"
|
||||
Then we should get no error
|
||||
And the output should be valid JSON
|
||||
Given we parse the output as JSON
|
||||
Then "entries" in the parsed output should have 3 elements
|
||||
And "tags" in the parsed output should be
|
||||
@ipsum
|
||||
@tagone
|
||||
@tagtwo
|
||||
@tagthree
|
||||
And "entries.0.tags" in the parsed output should have 3 elements
|
||||
And "entries.1.tags" in the parsed output should have 1 elements
|
||||
And "entries.2.tags" in the parsed output should have 2 elements
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: Exporting dayone to json should include UUID
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl --export json"
|
||||
Then we should get no error
|
||||
And the output should be valid JSON
|
||||
Given we parse the output as JSON
|
||||
Then "entries.0.uuid" in the parsed output should be
|
||||
4BB1F46946AD439996C9B59DE7C4DDC1
|
||||
|
||||
Scenario Outline: Printing a journal that has multiline entries with tags
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -n 1 @ipsum"
|
||||
Then we should get no error
|
||||
And the output should be
|
||||
2020-08-29 11:11 Entry the first.
|
||||
| Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
|
||||
| quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus
|
||||
| pellentesque
|
||||
| augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu
|
||||
| consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In
|
||||
| commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget
|
||||
| venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo.
|
||||
|
|
||||
| Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo
|
||||
| ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse
|
||||
| potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget
|
||||
| molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus
|
||||
| hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis
|
||||
| feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum
|
||||
| urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim.
|
||||
| Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget
|
||||
| velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac
|
||||
| porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per
|
||||
| conubia nostra, per inceptos himenaeos.
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Exporting using filters should only export parts of the journal
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -until 'August 2020' --format json"
|
||||
Then the output should be valid JSON
|
||||
Then we should get no error
|
||||
And the output should be valid JSON
|
||||
Given we parse the output as JSON
|
||||
Then "entries" in the parsed output should have 2 elements
|
||||
And "tags" in the parsed output should be
|
||||
@ipsum
|
||||
@tagone
|
||||
@tagtwo
|
||||
And "entries.0.tags" in the parsed output should have 3 elements
|
||||
And "entries.1.tags" in the parsed output should have 1 elements
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Increasing Headings on Markdown export
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
Given we append to the editor if opened
|
||||
[2021-10-14 13:23] Heading Test
|
||||
|
||||
H1-1
|
||||
=
|
||||
|
||||
H1-2
|
||||
===
|
||||
|
||||
H1-3
|
||||
============================
|
||||
|
||||
H2-1
|
||||
-
|
||||
|
||||
H2-2
|
||||
---
|
||||
|
||||
H2-3
|
||||
----------------------------------
|
||||
|
||||
Horizontal Rules (ignore)
|
||||
|
||||
---
|
||||
|
||||
===
|
||||
|
||||
# ATX H1
|
||||
|
||||
## ATX H2
|
||||
|
||||
### ATX H3
|
||||
|
||||
#### ATX H4
|
||||
|
||||
##### ATX H5
|
||||
|
||||
###### ATX H6
|
||||
|
||||
Stuff
|
||||
|
||||
More stuff
|
||||
more stuff again
|
||||
When we run "jrnl --edit -1"
|
||||
Then the editor should have been called
|
||||
When we run "jrnl -1 --export markdown"
|
||||
Then the output should be
|
||||
# 2021
|
||||
|
||||
## October
|
||||
|
||||
### 2021-10-14 13:23 Heading Test
|
||||
|
||||
#### H1-1
|
||||
|
||||
#### H1-2
|
||||
|
||||
#### H1-3
|
||||
|
||||
##### H2-1
|
||||
|
||||
##### H2-2
|
||||
|
||||
##### H2-3
|
||||
|
||||
Horizontal Rules (ignore)
|
||||
|
||||
---
|
||||
|
||||
===
|
||||
|
||||
#### ATX H1
|
||||
|
||||
##### ATX H2
|
||||
|
||||
###### ATX H3
|
||||
|
||||
####### ATX H4
|
||||
|
||||
######## ATX H5
|
||||
|
||||
######### ATX H6
|
||||
|
||||
Stuff
|
||||
|
||||
More stuff
|
||||
more stuff again
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
@skip
|
||||
Scenario Outline: Exporting to XML
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --export xml"
|
||||
Then the output should be a valid XML string
|
||||
And "entries" in the xml output should have 3 elements
|
||||
And "tags" in the xml output should contain
|
||||
@ipsum
|
||||
@tagone
|
||||
@tagtwo
|
||||
@tagthree
|
||||
And there should be 10 "tag" elements
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: Exporting to XML single
|
||||
Given we use the config "tags.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --export xml"
|
||||
Then the output should be valid XML
|
||||
Given we parse the output as XML
|
||||
Then "entries" in the parsed output should have 2 elements
|
||||
And "tags" in the parsed output should be
|
||||
@idea
|
||||
@journal
|
||||
@dan
|
||||
And there should be 7 "tag" elements
|
||||
|
||||
Scenario Outline: Exporting tags
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --export tags"
|
||||
Then the output should be
|
||||
@tagtwo : 2
|
||||
@tagone : 2
|
||||
@tagthree : 1
|
||||
@ipsum : 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
Scenario Outline: Export fancy with small linewrap
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override linewrap 35 --format fancy -3"
|
||||
Then we should get no error
|
||||
And the output should be 35 columns wide
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
@todo
|
||||
Scenario Outline: Exporting fancy
|
||||
# Needs better emoji support
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --export fancy"
|
||||
Then the output should be
|
||||
┎──────────────────────────────────────────────────────────────╮2020-08-29 11:11
|
||||
┃ Entry the first. ╘═══════════════╕
|
||||
┠╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
||||
┃ Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada │
|
||||
┃ quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus │
|
||||
┃ pellentesque │
|
||||
┃ augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu │
|
||||
┃ consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In │
|
||||
┃ commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget │
|
||||
┃ venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo. │
|
||||
┃ │
|
||||
┃ Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo │
|
||||
┃ ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. │
|
||||
┃ Suspendisse │
|
||||
┃ potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas │
|
||||
┃ eget │
|
||||
┃ molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed │
|
||||
┃ lectus │
|
||||
┃ hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis │
|
||||
┃ feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, │
|
||||
┃ vestibulum │
|
||||
┃ urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod │
|
||||
┃ enim. │
|
||||
┃ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget │
|
||||
┃ velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac │
|
||||
┃ porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per │
|
||||
┃ conubia nostra, per inceptos himenaeos. │
|
||||
┖──────────────────────────────────────────────────────────────────────────────┘
|
||||
┎──────────────────────────────────────────────────────────────╮2020-08-31 14:32
|
||||
┃ A second entry in what I hope to be a long series. ╘═══════════════╕
|
||||
┠╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
||||
┃ Sed sit amet metus et sapien feugiat elementum. Aliquam bibendum lobortis │
|
||||
┃ leo │
|
||||
┃ vitae tempus. Donec eleifend nec mi non volutpat. Lorem ipsum dolor sit │
|
||||
┃ amet, │
|
||||
┃ consectetur adipiscing elit. Praesent ut sodales libero. Maecenas nisl │
|
||||
┃ lorem, │
|
||||
┃ vestibulum in tempus sit amet, fermentum ut arcu. Donec vel vestibulum │
|
||||
┃ lectus, │
|
||||
┃ eget pretium enim. Maecenas diam nunc, imperdiet vitae pharetra sed, pretium │
|
||||
┃ id │
|
||||
┃ lectus. Donec eu metus et turpis tempor tristique ac non ex. In tellus arcu, │
|
||||
┃ egestas at efficitur et, ultrices vel est. Sed commodo et nibh non │
|
||||
┃ elementum. │
|
||||
┃ Mauris tempus vitae neque vel viverra. @tagtwo all by its lonesome. │
|
||||
┃ │
|
||||
┃ Nulla mattis elementum magna, viverra pretium dui fermentum et. Cras vel │
|
||||
┃ vestibulum odio. Quisque sit amet turpis et urna finibus maximus. Interdum │
|
||||
┃ et │
|
||||
┃ malesuada fames ac ante ipsum primis in faucibus. Fusce porttitor iaculis │
|
||||
┃ sem, │
|
||||
┃ non dictum ipsum varius nec. Nulla eu erat at risus gravida blandit non vel │
|
||||
┃ ante. Nam egestas ipsum leo, eu ultricies ipsum tincidunt vel. Morbi a │
|
||||
┃ commodo │
|
||||
┃ eros. │
|
||||
┃ │
|
||||
┃ Nullam dictum, nisl ac varius tempus, ex tortor fermentum nisl, non │
|
||||
┃ tempus dolor neque a lorem. Suspendisse a faucibus ex, vel ornare tortor. │
|
||||
┃ Maecenas tincidunt id felis quis semper. Pellentesque enim libero, fermentum │
|
||||
┃ quis metus id, rhoncus euismod magna. Nulla finibus velit eu purus bibendum │
|
||||
┃ interdum. Integer id justo dui. Integer eu tellus in turpis bibendum │
|
||||
┃ blandit. │
|
||||
┃ Quisque auctor lacinia consectetur. │
|
||||
┖──────────────────────────────────────────────────────────────────────────────┘
|
||||
┎──────────────────────────────────────────────────────────────╮2020-09-24 09:14
|
||||
┃ The third entry finally after weeks without writing. ╘═══════════════╕
|
||||
┠╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
||||
┃ I'm so excited about emojis. 💯 🎶 💩 │
|
||||
┃ │
|
||||
┃ Donec semper pellentesque iaculis. Nullam cursus et justo sit amet │
|
||||
┃ venenatis. │
|
||||
┃ Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. │
|
||||
┃ Nulla │
|
||||
┃ eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis │
|
||||
┃ dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh │
|
||||
┃ malesuada. │
|
||||
┃ Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis │
|
||||
┃ vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan │
|
||||
┃ justo. │
|
||||
┃ Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at │
|
||||
┃ ante eget fringilla. @tagthree and also @tagone │
|
||||
┖──────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
@skip_win
|
||||
Scenario Outline: Export to yaml
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we create a cache directory
|
||||
When we run "jrnl --format yaml --file {cache_dir}"
|
||||
Then the cache directory should contain the files
|
||||
2020-08-29_entry-the-first.md
|
||||
2020-08-31_a-second-entry-in-what-i-hope-to-be-a-long-series.md
|
||||
2020-09-24_the-third-entry-finally-after-weeks-without-writing.md
|
||||
|
||||
And the content of file "2020-08-29_entry-the-first.md" in the cache should be
|
||||
---
|
||||
title: Entry the first.
|
||||
date: 2020-08-29 11:11
|
||||
starred: False
|
||||
tags: tagone, ipsum, tagtwo
|
||||
body: |
|
||||
Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
|
||||
quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque
|
||||
augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu
|
||||
consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In
|
||||
commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget
|
||||
venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo.
|
||||
|
||||
Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo
|
||||
ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse
|
||||
potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget
|
||||
molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus
|
||||
hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis
|
||||
feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum
|
||||
urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim.
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget
|
||||
velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac
|
||||
porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per
|
||||
conubia nostra, per inceptos himenaeos.
|
||||
...
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Exporting YAML to nonexistent directory leads to user-friendly error with no traceback
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --export yaml --file nonexistent_dir"
|
||||
Then the output should contain "YAML export must be to a directory"
|
||||
And the output should not contain "Traceback"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
@skip_win # @todo YAML exporter does not correctly export emoji on Windows
|
||||
Scenario Outline: Add a blank line to YAML export if there isn't one already
|
||||
# https://github.com/jrnl-org/jrnl/issues/768
|
||||
# https://github.com/jrnl-org/jrnl/issues/881
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we create a cache directory
|
||||
When we run "jrnl --export yaml -o {cache_dir}"
|
||||
Then the cache should contain the files
|
||||
2020-08-29_entry-the-first.md
|
||||
2020-08-31_a-second-entry-in-what-i-hope-to-be-a-long-series.md
|
||||
2020-09-24_the-third-entry-finally-after-weeks-without-writing.md
|
||||
And the content of file "2020-09-24_the-third-entry-finally-after-weeks-without-writing.md" in the cache should be
|
||||
---
|
||||
title: The third entry finally after weeks without writing.
|
||||
date: 2020-09-24 09:14
|
||||
starred: False
|
||||
tags: tagone, tagthree
|
||||
body: |
|
||||
I'm so excited about emojis. 💯 🎶 💩
|
||||
|
||||
Donec semper pellentesque iaculis. Nullam cursus et justo sit amet venenatis.
|
||||
Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. Nulla
|
||||
eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis
|
||||
dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada.
|
||||
Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis
|
||||
vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo.
|
||||
Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at
|
||||
ante eget fringilla. @tagthree and also @tagone
|
||||
...
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
Scenario: Empty DayOne entry bodies should not error
|
||||
# https://github.com/jrnl-org/jrnl/issues/780
|
||||
Given we use the config "bug780.yaml"
|
||||
When we run "jrnl --short"
|
||||
Then we should get no error
|
||||
|
||||
Scenario Outline: --short displays the short version of entries (only the title)
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -on 2020-08-31 --short"
|
||||
Then the output should be "2020-08-31 14:32 A second entry in what I hope to be a long series."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: -s displays the short version of entries (only the title)
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -on 2020-08-31 -s"
|
||||
Then the output should be "2020-08-31 14:32 A second entry in what I hope to be a long series."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: Markdown Support from config file
|
||||
Given we use the config "format_md.yaml"
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should be
|
||||
# 2013
|
||||
|
||||
## June
|
||||
|
||||
### 2013-06-10 15:40 Life is good.
|
||||
|
||||
But I'm better.
|
||||
|
||||
Scenario: Text Formatter from config file
|
||||
Given we use the config "format_text.yaml"
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should be
|
||||
[2013-06-10 15:40] Life is good.
|
||||
But I'm better.
|
||||
|
||||
Scenario Outline: Exporting entries with Cyrillic characters to directory should not fail
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we create a cache directory
|
||||
When we run "jrnl 2020-11-21: Первая"
|
||||
When we run "jrnl --format md --file {cache_dir} -on 2020-11-21"
|
||||
Then the cache should contain the files
|
||||
2020-11-21_первая.md
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Export date counts
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl 2020-08-31 01:01: Hi."
|
||||
And we run "jrnl --format dates"
|
||||
Then the output should be
|
||||
2020-08-29, 1
|
||||
2020-08-31, 2
|
||||
2020-09-24, 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
Scenario Outline: display_format short and pretty do not crash if specified as config values
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override display_format short -1"
|
||||
Then we should get no error
|
||||
When we run "jrnl --config-override display_format pretty -1"
|
||||
Then we should get no error
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: Export entries in markdown format with a title longer than max file name length.
|
||||
Given we use the config "basic_onefile.yaml"
|
||||
And we create a cache directory
|
||||
When we run "jrnl 2022-07-31 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Laoreet id donec ultrices tincidunt arcu Dolor sit amet consectetur adipiscing elit duis tristique sollicitudin Ut pharetra sit amet aliquam id diam maecenas Habitasse platea dictumst quisque sagittis Aliquam purus sit amet luctus venenatis lectus magna Aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat Diam vel quam elementum pulvinar etiam non Odio ut enim blandit volutpat maecenas volutpat Lacus vestibulum sed arcu non odio euismod lacinia at quis. Pretium nibh ipsum consequat nisl."
|
||||
When we run "jrnl 2022-07-31 Magna fermentum iaculis eu non diam phasellus Non pulvinar neque laoreet suspendisse interdum consectetur libero id Scelerisque felis imperdiet proin fermentum leo Eu ultrices vitae auctor eu augue ut lectus Bibendum arcu vitae elementum curabitur vitae nunc sed Tincidunt tortor aliquam nulla facilisi cras fermentum Malesuada nunc vel risus commodo viverra maecenas accumsan lacus vel Non sodales neque sodales ut Enim nulla aliquet porttitor lacus luctus accumsan Volutpat blandit aliquam etiam erat velit scelerisque in dictum non Egestas fringilla phasellus faucibus scelerisque At risus viverra adipiscing at in tellus integer feugiat scelerisque Eget velit aliquet sagittis id consectetur purus ut Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis Lacus vestibulum sed arcu non odio euismod lacinia at Elit pellentesque habitant morbi tristique Vestibulum lorem sed risus ultricies Integer eget aliquet nibh praesent tristique magna sit amet purus Quisque id diam vel quam elementum pulvinar etiam non quam Nisi scelerisque eu ultrices vitae auctor eu augue. Malesuada fames ac turpis egestas integer eget aliquet."
|
||||
When we run "jrnl --format markdown --file {cache_dir}"
|
||||
Then the cache directory should contain 5 files
|
||||
And we should get no error
|
||||
|
||||
Scenario: Export entries in text format with a title longer than max file name length.
|
||||
Given we use the config "basic_onefile.yaml"
|
||||
And we create a cache directory
|
||||
When we run "jrnl 2022-07-31 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Laoreet id donec ultrices tincidunt arcu Dolor sit amet consectetur adipiscing elit duis tristique sollicitudin Ut pharetra sit amet aliquam id diam maecenas Habitasse platea dictumst quisque sagittis Aliquam purus sit amet luctus venenatis lectus magna Aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat Diam vel quam elementum pulvinar etiam non Odio ut enim blandit volutpat maecenas volutpat Lacus vestibulum sed arcu non odio euismod lacinia at quis. Pretium nibh ipsum consequat nisl."
|
||||
When we run "jrnl 2022-07-31 Magna fermentum iaculis eu non diam phasellus Non pulvinar neque laoreet suspendisse interdum consectetur libero id Scelerisque felis imperdiet proin fermentum leo Eu ultrices vitae auctor eu augue ut lectus Bibendum arcu vitae elementum curabitur vitae nunc sed Tincidunt tortor aliquam nulla facilisi cras fermentum Malesuada nunc vel risus commodo viverra maecenas accumsan lacus vel Non sodales neque sodales ut Enim nulla aliquet porttitor lacus luctus accumsan Volutpat blandit aliquam etiam erat velit scelerisque in dictum non Egestas fringilla phasellus faucibus scelerisque At risus viverra adipiscing at in tellus integer feugiat scelerisque Eget velit aliquet sagittis id consectetur purus ut Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis Lacus vestibulum sed arcu non odio euismod lacinia at Elit pellentesque habitant morbi tristique Vestibulum lorem sed risus ultricies Integer eget aliquet nibh praesent tristique magna sit amet purus Quisque id diam vel quam elementum pulvinar etiam non quam Nisi scelerisque eu ultrices vitae auctor eu augue. Malesuada fames ac turpis egestas integer eget aliquet."
|
||||
When we run "jrnl --format text --file {cache_dir}"
|
||||
Then the cache directory should contain 5 files
|
||||
And we should get no error
|
||||
|
||||
Scenario: Export journal list to multiple formats.
|
||||
Given we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl --list"
|
||||
Then the output should match
|
||||
Journals defined in config \(.+basic_onefile\.yaml\)
|
||||
\* default -> features/journals/basic_onefile\.journal
|
||||
When we run "jrnl --list --format json"
|
||||
Then the output should match
|
||||
{"config_path": ".+basic_onefile\.yaml", "journals": {"default": "features/journals/basic_onefile\.journal"}}
|
||||
When we run "jrnl --list --format yaml"
|
||||
Then the output should match
|
||||
config_path: .+basic_onefile\.yaml
|
||||
journals:
|
||||
default: features/journals/basic_onefile\.journal
|
||||
|
||||
Scenario: Export journal list to formats with no default journal
|
||||
Given we use the config "no_default_journal.yaml"
|
||||
When we run "jrnl --list"
|
||||
Then the output should match
|
||||
Journals defined in config \(.+no_default_journal\.yaml\)
|
||||
\* simple -> features/journals/simple\.journal
|
||||
\* work -> features/journals/work\.journal
|
||||
When we run "jrnl --list --format json"
|
||||
Then the output should match
|
||||
{"config_path": ".+no_default_journal\.yaml", "journals": {"simple": "features/journals/simple\.journal", "work": "features/journals/work\.journal"}}
|
||||
When we run "jrnl --list --format yaml"
|
||||
Then the output should match
|
||||
config_path: .+no_default_journal\.yaml
|
||||
journals:
|
||||
simple: features/journals/simple\.journal
|
||||
work: features/journals/work\.journal
|
|
@ -1,91 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Importing data
|
||||
|
||||
Scenario Outline: --import allows new entry from stdin
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --import" and pipe "[2020-07-05 15:00] Observe and import."
|
||||
When we run "jrnl -9 --short"
|
||||
Then the output should contain "Observe and import"
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
Scenario Outline: --import allows new large entry from stdin
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --import" and pipe
|
||||
[2020-07-05 15:00] Observe and import.
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada quis
|
||||
est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque augue
|
||||
et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu consequat.
|
||||
Aenean ante ex, elementum ut interdum et, mattis eget lacus. In commodo nulla nec
|
||||
tellus placerat, sed ultricies metus bibendum. Duis eget venenatis erat. In at
|
||||
dolor dui end of entry.
|
||||
When we run "jrnl -on 2020-07-05"
|
||||
Then the output should contain "2020-07-05 15:00 Observe and import."
|
||||
And the output should contain "Lorem ipsum"
|
||||
And the output should contain "end of entry."
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
Scenario Outline: --import allows multiple new entries from stdin
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --import" and pipe
|
||||
[2020-07-05 15:00] Observe and import.
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
|
||||
[2020-07-05 15:01] Twice as nice.
|
||||
Sed dignissim sed nisl eu consequat.
|
||||
When we run "jrnl -on 2020-07-05"
|
||||
Then the output should contain "2020-07-05 15:00 Observe and import."
|
||||
And the output should contain "Lorem ipsum"
|
||||
And the output should contain "2020-07-05 15:01 Twice as nice."
|
||||
And the output should contain "Sed dignissim"
|
||||
|
||||
Examples: Configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
# | basic_dayone.yaml | @todo
|
||||
|
||||
Scenario: --import allows import new entries from file
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl -99"
|
||||
Then the output should contain "My first entry."
|
||||
And the output should contain "Life is good."
|
||||
But the output should not contain "I have an @idea"
|
||||
And the output should not contain "I met with"
|
||||
When we run "jrnl --import --file features/journals/tags.journal"
|
||||
And we run "jrnl -99"
|
||||
Then the output should contain "My first entry."
|
||||
And the output should contain "Life is good."
|
||||
And the output should contain "PROFIT!"
|
||||
|
||||
Scenario: --import prioritizes --file over pipe data if both are given
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl -99"
|
||||
Then the output should contain "My first entry."
|
||||
And the output should contain "Life is good."
|
||||
But the output should not contain "I have an @idea"
|
||||
And the output should not contain "I met with"
|
||||
When we run "jrnl --import --file features/journals/tags.journal" and pipe
|
||||
[2020-07-05 15:00] I should not exist!
|
||||
And we run "jrnl -99"
|
||||
Then the output should contain "My first entry."
|
||||
And the output should contain "PROFIT!"
|
||||
But the output should not contain "I should not exist!"
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
Feature: Installing jrnl
|
||||
|
||||
Scenario: Install jrnl with default options
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
\n
|
||||
\n
|
||||
\n
|
||||
Then the output should contain "jrnl configuration created at"
|
||||
And the output should contain "For advanced features, read the docs at https://jrnl.sh"
|
||||
And the output should contain "Journal 'default' created"
|
||||
And the default journal "journal.txt" should be in the "." directory
|
||||
And the config should contain "encrypt: false"
|
||||
And the version in the config file should be up-to-date
|
||||
|
||||
Scenario: Install jrnl with custom relative default journal path
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
default/custom.txt
|
||||
n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the default journal "custom.txt" should be in the "default" directory
|
||||
And the config should contain "encrypt: false"
|
||||
And the version in the config file should be up-to-date
|
||||
|
||||
Scenario: Install jrnl with custom expanded default journal path
|
||||
Given we use no config
|
||||
And the home directory is called "home"
|
||||
When we run "jrnl hello world" and enter
|
||||
~/custom.txt
|
||||
n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the default journal "custom.txt" should be in the "home" directory
|
||||
And the config should contain "encrypt: false"
|
||||
And the version in the config file should be up-to-date
|
||||
|
||||
Scenario: Install jrnl with encrypted default journal
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
encrypted.txt
|
||||
y
|
||||
\n
|
||||
Then the output should contain "Journal will be encrypted"
|
||||
And the default journal "encrypted.txt" should be in the "." directory
|
||||
And the config should contain "encrypt: true"
|
||||
And the version in the config file should be up-to-date
|
||||
When we run "jrnl"
|
||||
Then we should be prompted for a password
|
||||
|
||||
Scenario: Install jrnl with colors by default
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
\n
|
||||
\n
|
||||
\n
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the config should contain
|
||||
colors:
|
||||
body: none
|
||||
date: black
|
||||
tags: yellow
|
||||
title: cyan
|
||||
|
||||
Scenario: Install jrnl without colors
|
||||
Given we use no config
|
||||
When we run "jrnl hello world" and enter
|
||||
\n
|
||||
\n
|
||||
N
|
||||
Then the output should contain "Journal 'default' created"
|
||||
And the config should contain
|
||||
colors:
|
||||
body: none
|
||||
date: none
|
||||
tags: none
|
||||
title: none
|
||||
|
||||
Scenario: Install jrnl with encrypted default journal with no entries
|
||||
Given we use no config
|
||||
When we run "jrnl -1" and enter
|
||||
encrypted.txt
|
||||
y
|
||||
n
|
||||
test
|
||||
test
|
||||
n
|
||||
Then the error output should contain "Journal will be encrypted"
|
||||
And the default journal "encrypted.txt" should be in the "." directory
|
||||
And the config should contain "encrypt: true"
|
||||
And the version in the config file should be up-to-date
|
||||
When we run "jrnl -1" and enter
|
||||
test
|
||||
Then we should be prompted for a password
|
||||
And the error output should contain "no entries found"
|
||||
And the error output should not contain "Wrong password, try again"
|
|
@ -1,99 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Multiple journals
|
||||
|
||||
Scenario: Loading a config with two journals
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
When we run "jrnl work -99 --short"
|
||||
Then the output should be empty
|
||||
|
||||
Scenario: Write to default config by default
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl this goes to default"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should contain
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
Then the output should contain
|
||||
this goes to default
|
||||
When we run "jrnl work -99 --short"
|
||||
Then the output should be empty
|
||||
|
||||
Scenario: Write to specified journal
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl work a long day in the office"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
When we run "jrnl work -99 --short"
|
||||
Then the output should contain "a long day in the office"
|
||||
|
||||
Scenario: Tell user which journal was used
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl work a long day in the office"
|
||||
Then the output should contain "Entry added to work journal"
|
||||
|
||||
Scenario: Write to specified journal with a timestamp
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl work 23 july 2012: a long day in the office"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
When we run "jrnl work -99 --short"
|
||||
Then the output should be
|
||||
2012-07-23 09:00 a long day in the office
|
||||
|
||||
Scenario: Write to specified journal without a timestamp but with colon
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl work : a long day in the office"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
When we run "jrnl work -99 --short"
|
||||
Then the output should be contain
|
||||
a long day in the office
|
||||
|
||||
Scenario: Write to specified journal without a timestamp but with colon
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl work: a long day in the office"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
When we run "jrnl work -99 --short"
|
||||
Then the output should contain
|
||||
a long day in the office
|
||||
|
||||
Scenario: Create new journals as required
|
||||
Given we use the config "multiple.yaml"
|
||||
Then journal "ideas" should not exist
|
||||
When we run "jrnl ideas 23 july 2012: sell my junk on ebay and make lots of money"
|
||||
When we run "jrnl ideas -99 --short"
|
||||
Then the output should be
|
||||
2012-07-23 09:00 sell my junk on ebay and make lots of money
|
||||
|
||||
Scenario: Don't crash if no default journal is specified
|
||||
Given we use the config "no_default_journal.yaml"
|
||||
When we run "jrnl a long day in the office"
|
||||
Then the output should contain "No 'default' journal configured"
|
||||
|
||||
Scenario: Don't crash if no file exists for a configured encrypted journal
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl new_encrypted Adding first entry" and enter
|
||||
these three eyes
|
||||
these three eyes
|
||||
n
|
||||
Then the output should contain "Journal 'new_encrypted' created at"
|
||||
|
||||
Scenario: Read and write to journal with emoji name
|
||||
Given we use the config "multiple.yaml"
|
||||
When we run "jrnl ✨ Adding entry to sparkly journal"
|
||||
When we run "jrnl ✨ -1"
|
||||
Then the output should contain "Adding entry to sparkly journal"
|
|
@ -1,100 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Implementing Runtime Overrides for Select Configuration Keys
|
||||
|
||||
Scenario: Override configured editor with built-in input === editor:''
|
||||
Given we use the config "basic_encrypted.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override editor ''" and type
|
||||
This is a journal entry
|
||||
Then the stdin prompt should have been called
|
||||
And the editor should not have been called
|
||||
When we run "jrnl -1"
|
||||
Then the output should contain "This is a journal entry"
|
||||
|
||||
|
||||
Scenario: Postconfig commands with overrides
|
||||
Given we use the config "basic_encrypted.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --decrypt --config-override highlight false --config-override editor nano"
|
||||
Then the config in memory should contain "highlight: false"
|
||||
Then the editor should not have been called
|
||||
|
||||
|
||||
Scenario: Override configured linewrap with a value of 23
|
||||
Given we use the config "simple.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -2 --config-override linewrap 23 --format fancy"
|
||||
Then the output should be
|
||||
┎─────╮2013-06-09 15:39
|
||||
┃ My ╘═══════════════╕
|
||||
┃ fir st ent ry. │
|
||||
┠╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
||||
┃ Everything is │
|
||||
┃ alright │
|
||||
┖─────────────────────┘
|
||||
┎─────╮2013-06-10 15:40
|
||||
┃ Lif ╘═══════════════╕
|
||||
┃ e is goo d. │
|
||||
┠╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
|
||||
┃ But I'm better. │
|
||||
┖─────────────────────┘
|
||||
|
||||
|
||||
Scenario: Override color selections with runtime overrides
|
||||
Given we use the config "basic_encrypted.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1 --config-override colors.body blue"
|
||||
Then the config in memory should contain "colors.body: blue"
|
||||
|
||||
Scenario: Override color selections with --co alias
|
||||
Given we use the config "basic_encrypted.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1 --co colors.body blue"
|
||||
Then the config in memory should contain "colors.body: blue"
|
||||
|
||||
Scenario: Apply multiple config overrides
|
||||
Given we use the config "basic_encrypted.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1 --config-override colors.body green --config-override editor 'nano'"
|
||||
Then the config in memory should contain
|
||||
editor: nano
|
||||
colors:
|
||||
title: none
|
||||
body: green
|
||||
tags: none
|
||||
date: none
|
||||
|
||||
|
||||
Scenario: Override default journal
|
||||
Given we use the config "basic_dayone.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override journals.default features/journals/simple.journal 20 Mar 2000: The rain in Spain comes from clouds"
|
||||
Then we should get no error
|
||||
When we run "jrnl -3 --config-override journals.default features/journals/simple.journal"
|
||||
Then the output should be
|
||||
2000-03-20 09:00 The rain in Spain comes from clouds
|
||||
|
||||
2013-06-09 15:39 My first entry.
|
||||
| Everything is alright
|
||||
|
||||
2013-06-10 15:40 Life is good.
|
||||
| But I'm better.
|
||||
|
||||
|
||||
Scenario: Make an entry into an overridden journal
|
||||
Given we use the config "basic_dayone.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override journals.temp features/journals/simple.journal temp Sep 06 1969: @say Ni"
|
||||
Then we should get no error
|
||||
And the output should contain "Entry added"
|
||||
When we run "jrnl --config-override journals.temp features/journals/simple.journal temp -3"
|
||||
Then the output should be
|
||||
1969-09-06 09:00 @say Ni
|
||||
|
||||
2013-06-09 15:39 My first entry.
|
||||
| Everything is alright
|
||||
|
||||
2013-06-10 15:40 Life is good.
|
||||
| But I'm better.
|
|
@ -1,125 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Using the installed keyring
|
||||
|
||||
Scenario: Storing a password in keyring
|
||||
Given we use the config "multiple.yaml"
|
||||
And we have a keyring
|
||||
When we run "jrnl simple --encrypt" and enter
|
||||
sabertooth
|
||||
sabertooth
|
||||
Y
|
||||
Then the config for journal "simple" should contain "encrypt: true"
|
||||
When we run "jrnl simple -n 1"
|
||||
Then the output should contain "2013-06-10 15:40 Life is good"
|
||||
|
||||
|
||||
Scenario: Encrypt journal with no keyring backend and do not store in keyring
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl test entry"
|
||||
And we run "jrnl --encrypt" and enter
|
||||
password
|
||||
password
|
||||
n
|
||||
Then we should get no error
|
||||
And the output should not contain "Failed to retrieve keyring"
|
||||
|
||||
|
||||
Scenario: Encrypt journal with no keyring backend and do store in keyring
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl test entry"
|
||||
And we run "jrnl --encrypt" and enter
|
||||
password
|
||||
password
|
||||
y
|
||||
Then we should get no error
|
||||
And the output should not contain "Failed to retrieve keyring"
|
||||
# @todo add step to check contents of keyring
|
||||
|
||||
|
||||
@todo
|
||||
Scenario: Open an encrypted journal with wrong password in keyring
|
||||
# This should ask the user for the password after the keyring fails
|
||||
|
||||
|
||||
@todo
|
||||
Scenario: Decrypt journal with password in keyring
|
||||
|
||||
|
||||
@todo
|
||||
Scenario: Decrypt journal without a keyring
|
||||
|
||||
|
||||
Scenario: Encrypt journal when keyring exists but fails
|
||||
Given we use the config "simple.yaml"
|
||||
And we have a failed keyring
|
||||
When we run "jrnl --encrypt" and enter
|
||||
this password will not be saved in keyring
|
||||
this password will not be saved in keyring
|
||||
y
|
||||
Then the output should contain "Failed to retrieve keyring"
|
||||
And we should get no error
|
||||
And we should be prompted for a password
|
||||
And the config for journal "default" should contain "encrypt: true"
|
||||
|
||||
|
||||
Scenario: Decrypt journal when keyring exists but fails
|
||||
Given we use the config "encrypted.yaml"
|
||||
And we have a failed keyring
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl --decrypt"
|
||||
Then the error output should contain "Failed to retrieve keyring"
|
||||
And we should get no error
|
||||
And we should be prompted for a password
|
||||
And the output should contain "Journal decrypted"
|
||||
And the config for journal "default" should contain "encrypt: false"
|
||||
When we run "jrnl --short"
|
||||
Then we should not be prompted for a password
|
||||
And the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
|
||||
|
||||
Scenario: Open encrypted journal when keyring exists but fails
|
||||
# This should ask the user for the password after the keyring fails
|
||||
Given we use the config "encrypted.yaml"
|
||||
And we have a failed keyring
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl -n 1"
|
||||
Then we should get no error
|
||||
And we should be prompted for a password
|
||||
And the output should contain "Failed to retrieve keyring"
|
||||
And the output should contain "2013-06-10 15:40 Life is good"
|
||||
|
||||
|
||||
Scenario: Mistyping your password
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl --encrypt" and enter
|
||||
swordfish
|
||||
sordfish
|
||||
Then we should be prompted for a password
|
||||
And the output should contain "Passwords did not match"
|
||||
And the config for journal "default" should not contain "encrypt: true"
|
||||
When we run "jrnl --short"
|
||||
Then the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
2013-06-10 15:40 Life is good.
|
||||
|
||||
|
||||
Scenario: Mistyping your password, then getting it right
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl --encrypt" and enter
|
||||
swordfish
|
||||
sordfish
|
||||
swordfish
|
||||
swordfish
|
||||
n
|
||||
Then we should be prompted for a password
|
||||
And the output should contain "Passwords did not match"
|
||||
And the output should contain "Journal encrypted"
|
||||
And the config for journal "default" should contain "encrypt: true"
|
||||
When we run "jrnl -1" and enter "swordfish"
|
||||
Then we should be prompted for a password
|
||||
And the output should contain "2013-06-10 15:40 Life is good"
|
||||
|
|
@ -1,400 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Searching in a journal
|
||||
|
||||
Scenario Outline: Displaying entries using -on today should display entries created today
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl today: Adding an entry right now."
|
||||
Then we should get no error
|
||||
When we run "jrnl -on today"
|
||||
Then the output should contain "Adding an entry right now."
|
||||
But the output should not contain "Everything is alright"
|
||||
And the output should not contain "Life is good"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
|
||||
Scenario Outline: Displaying entries using -from day should display correct entries
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl yesterday: This thing happened yesterday"
|
||||
Then we should get no error
|
||||
When we run "jrnl today at 11:59pm: Adding an entry right now."
|
||||
Then we should get no error
|
||||
When we run "jrnl tomorrow: A future entry."
|
||||
Then we should get no error
|
||||
When we run "jrnl -from today"
|
||||
Then the output should contain "2 entries found"
|
||||
And the output should contain "Adding an entry right now."
|
||||
And the output should contain "A future entry."
|
||||
And the output should not contain "This thing happened yesterday"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
|
||||
Scenario Outline: Displaying entries using -from and -to day should display correct entries
|
||||
Given we use the config "<config_file>"
|
||||
And now is "2022-03-10 02:32:00 PM"
|
||||
When we run "jrnl yesterday: This thing happened yesterday"
|
||||
Then we should get no error
|
||||
When we run "jrnl today at 11:59pm: Adding an entry right now."
|
||||
Then we should get no error
|
||||
When we run "jrnl tomorrow: A future entry."
|
||||
Then we should get no error
|
||||
When we run "jrnl -from yesterday -to today"
|
||||
Then the output should contain "2 entries found"
|
||||
And the output should contain "This thing happened yesterday"
|
||||
And the output should contain "Adding an entry right now."
|
||||
And the output should not contain "A future entry."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for a string
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -contains first --short"
|
||||
Then we should get no error
|
||||
And the output should contain "1 entry found"
|
||||
And the output should be
|
||||
2020-08-29 11:11 Entry the first.
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for an unknown string
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -contains slkdfsdkfjsd"
|
||||
Then we should get no error
|
||||
And the output should contain "no entries found"
|
||||
And the output should not contain "slkdfsdkfjsd"
|
||||
|
||||
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"
|
||||
Then we should get no error
|
||||
And the output should contain "maybe"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for a string within AND tag results
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -and @tagone @tagtwo -contains maybe"
|
||||
Then we should get no error
|
||||
And the output should contain "1 entry found"
|
||||
And the output should contain "maybe"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for a string within NOT tag results
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -not @tagone -contains lonesome"
|
||||
Then we should get no error
|
||||
And the output should contain "1 entry found"
|
||||
And the output should contain "lonesome"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
|
||||
Scenario Outline: Searching for unstarred entries
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -not -starred"
|
||||
Then we should get no error
|
||||
And the output should contain "2 entries found"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for tagged entries
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -tagged"
|
||||
Then we should get no error
|
||||
And the output should contain "3 entries found"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for untagged entries
|
||||
Given we use the config "empty_folder.yaml"
|
||||
When we run "jrnl Tagged entry. This one has a @tag."
|
||||
Then we should get no error
|
||||
When we run "jrnl Untagged entry. This one has no tag."
|
||||
Then we should get no error
|
||||
When we run "jrnl -not -tagged"
|
||||
Then we should get no error
|
||||
And the output should contain "1 entry found"
|
||||
And the output should contain "This one has no tag"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for dates
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -on 2020-08-31 --short"
|
||||
Then the output should be "2020-08-31 14:32 A second entry in what I hope to be a long series."
|
||||
When we run "jrnl -on 'august 31 2020' --short"
|
||||
Then the output should be "2020-08-31 14:32 A second entry in what I hope to be a long series."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: Out of order entries to a Folder journal should be listed in date order
|
||||
Given we use the config "empty_folder.yaml"
|
||||
When we run "jrnl 3/7/2014 4:37pm: Second entry of journal."
|
||||
Then we should get no error
|
||||
When we run "jrnl 23 July 2013: Testing folder journal."
|
||||
Then we should get no error
|
||||
When we run "jrnl -2"
|
||||
Then the output should be
|
||||
2013-07-23 09:00 Testing folder journal.
|
||||
|
||||
2014-03-07 16:37 Second entry of journal.
|
||||
|
||||
Scenario Outline: Searching for all tags should show counts of each tag
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --tags"
|
||||
Then we should get no error
|
||||
And the output should be
|
||||
@tagtwo : 2
|
||||
@tagone : 2
|
||||
@tagthree : 1
|
||||
@ipsum : 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Filtering journals should also filter tags
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -from 'september 2020' --tags"
|
||||
Then we should get no error
|
||||
And the output should be
|
||||
@tagthree : 1
|
||||
@tagone : 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Excluding a tag should filter out all entries with that tag
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --tags -not @tagtwo"
|
||||
Then the output should be
|
||||
@tagthree : 1
|
||||
@tagone : 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Excluding multiple tags should filter out all entries with those tags
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl --tags -not @tagone -not @tagthree"
|
||||
Then the output should be
|
||||
@tagtwo : 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Using -not should exclude all entries with that tag
|
||||
# https://github.com/jrnl-org/jrnl/issues/1472
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -not @tagtwo"
|
||||
Then the output should not contain "@tagtwo"
|
||||
And the editor should not have been called
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: DayOne tag searching should work with tags containing a mixture of upper and lower case.
|
||||
# https://github.com/jrnl-org/jrnl/issues/354
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl @plAy"
|
||||
Then the output should contain "2013-05-17 11:39 This entry has tags!"
|
||||
|
||||
Scenario: Loading a sample journal
|
||||
Given we use the config "simple.yaml"
|
||||
When we run "jrnl -2"
|
||||
Then we should get no error
|
||||
And the output should be
|
||||
2013-06-09 15:39 My first entry.
|
||||
| Everything is alright
|
||||
|
||||
2013-06-10 15:40 Life is good.
|
||||
| But I'm better.
|
||||
|
||||
Scenario Outline: Searching by month
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -month 9 --short"
|
||||
Then the output should be "2020-09-24 09:14 The third entry finally after weeks without writing."
|
||||
When we run "jrnl -month Sept --short"
|
||||
Then the output should be "2020-09-24 09:14 The third entry finally after weeks without writing."
|
||||
When we run "jrnl -month September --short"
|
||||
Then 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_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching by day
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -day 31 --short"
|
||||
Then the output should be "2020-08-31 14:32 A second entry in what I hope to be a long series."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching by year
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl 2019-01-01 01:01: I like this year."
|
||||
And we run "jrnl -year 2019 --short"
|
||||
Then the output should be "2019-01-01 01:01 I like this year."
|
||||
When we run "jrnl -year 19 --short"
|
||||
Then the output should be "2019-01-01 01:01 I like this year."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Combining month, day, and year search terms
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -month 08 -day 29 --short"
|
||||
Then the output should be "2020-08-29 11:11 Entry the first."
|
||||
When we run "jrnl -day 29 -year 2020 --short"
|
||||
Then the output should be "2020-08-29 11:11 Entry the first."
|
||||
When we run "jrnl -month 09 -year 2020 --short"
|
||||
Then the output should be "2020-09-24 09:14 The third entry finally after weeks without writing."
|
||||
When we run "jrnl -month 08 -day 29 -year 2020 --short"
|
||||
Then the output should be "2020-08-29 11:11 Entry the first."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching today in history
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And now is "2020-08-31 02:32:00 PM"
|
||||
When we run "jrnl 2019-08-31 01:01: Hi, from last year."
|
||||
And we run "jrnl -today-in-history --short"
|
||||
Then the output should contain "2 entries found"
|
||||
And the output should be
|
||||
2019-08-31 01:01 Hi, from last year.
|
||||
2020-08-31 14:32 A second entry in what I hope to be a long series.
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: Loading a DayOne Journal
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl -from 'feb 2013'"
|
||||
Then we should get no error
|
||||
And the output should contain "3 entries found"
|
||||
And the output should be
|
||||
2013-05-17 11:39 This entry has tags!
|
||||
|
||||
2013-06-17 20:38 This entry has a location.
|
||||
|
||||
2013-07-17 11:38 This entry is starred!
|
||||
|
||||
Scenario Outline: Searching the most recent entry should not show found count
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -1"
|
||||
Then the error output should not contain "1 entry found"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Searching for more entries than are in the journal should show found count
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl -4"
|
||||
Then the error output should contain "3 entries found"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
|
@ -1,39 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Starring entries
|
||||
|
||||
Scenario Outline: Starring an entry will mark it in the journal file
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl 20 july 2013 *: Best day of my life!"
|
||||
Then we should get no error
|
||||
When we run "jrnl -on 2013-07-20 -starred"
|
||||
Then the output should contain "2013-07-20 09:00 Best day of my life!"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
|
||||
Scenario Outline: Filtering by starred entries will show only starred entries
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl -starred"
|
||||
Then the output should be empty
|
||||
When we run "jrnl 20 july 2013 *: Best day of my life!"
|
||||
When we run "jrnl -starred"
|
||||
Then the output should be "2013-07-20 09:00 Best day of my life!"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone_empty.yaml |
|
||||
|
||||
Scenario: Starring an entry will mark it in an encrypted journal
|
||||
Given we use the config "encrypted.yaml"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl 20 july 2013 *: Best day of my life!"
|
||||
Then we should get no error
|
||||
When we run "jrnl -on 2013-07-20 -starred" and enter "bad doggie no biscuit"
|
||||
Then the output should contain "2013-07-20 09:00 Best day of my life!"
|
|
@ -1,51 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Tagging
|
||||
# See search.feature for tag-related searches
|
||||
# And format.feature for tag-related output
|
||||
|
||||
Scenario Outline: Tags should allow certain special characters such as /, +, #
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl 2020-09-26: This is an entry about @os/2 and @c++ and @c#"
|
||||
When we run "jrnl --tags -on 2020-09-26"
|
||||
Then we should get no error
|
||||
And the output should be
|
||||
@os/2 : 1
|
||||
@c++ : 1
|
||||
@c# : 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Emails addresses should not be parsed as tags
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl 2020-09-26: The email address test@example.com does not seem to work for me"
|
||||
When we run "jrnl 2020-09-26: The email address test@example.org also does not work for me"
|
||||
When we run "jrnl 2020-09-26: I tried test@example.org and test@example.edu too"
|
||||
When we run "jrnl --tags -on 2020-09-26"
|
||||
Then we should get no error
|
||||
And the output should be "[No tags found in journal.]"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Entry can start and end with tags
|
||||
Given we use the config "<config_file>"
|
||||
When we run "jrnl 2020-09-26: @foo came over, we went to a @bar"
|
||||
When we run "jrnl --tags -on 2020-09-26"
|
||||
Then the output should be
|
||||
@foo : 1
|
||||
@bar : 1
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
|
@ -1,77 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Using templates
|
||||
|
||||
Scenario Outline: Template contents should be used in new entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we append to the editor if opened
|
||||
This is an addition to a templated entry
|
||||
When we run "jrnl --config-override template features/templates/basic.template"
|
||||
And we run "jrnl -1"
|
||||
Then the output should contain "This text is in the basic template"
|
||||
Then the output should contain "This is an addition to a templated entry"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Templated entry should not be saved if template is unchanged
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override template features/templates/basic.template"
|
||||
Then the output should contain "No entry to save, because the template was not changed"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: --template nonexistent_file should throw an error
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --template this_template_does_not_exist.template"
|
||||
Then we should get an error
|
||||
Then the error output should contain "Unable to find a template file"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: --template local_filepath should be used in new entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --template features/templates/basic.template"
|
||||
Then the output should contain "No entry to save, because the template was not changed"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: --template file_in_XDG_templates_dir should be used in new entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we copy the template "basic.template" to the default templates folder
|
||||
When we run "jrnl --template basic.template"
|
||||
Then the output should contain "No entry to save, because the template was not changed"
|
||||
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
| basic_dayone.yaml |
|
|
@ -1,57 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Upgrading Journals from 1.x.x to 2.x.x
|
||||
|
||||
Scenario: Upgrade and parse journals with square brackets
|
||||
Given we use the config "upgrade_from_195.json"
|
||||
When we run "jrnl -9" and enter "Y"
|
||||
When we run "jrnl -99 --short"
|
||||
Then the output should be
|
||||
2010-06-10 15:00 A life without chocolate is like a bad analogy.
|
||||
2013-06-10 15:40 He said "[this] is the best time to be alive".Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
|
||||
And the output should contain
|
||||
2010-06-10 15:00 A life without chocolate is like a bad analogy.
|
||||
And the output should contain
|
||||
2013-06-10 15:40 He said "[this] is the best time to be alive".
|
||||
|
||||
Scenario: Upgrading a journal encrypted with jrnl 1.x
|
||||
Given we use the config "encrypted_old.json"
|
||||
When we run "jrnl -n 1" and enter
|
||||
Y
|
||||
bad doggie no biscuit
|
||||
bad doggie no biscuit
|
||||
Then we should be prompted for a password
|
||||
And the output should contain "2013-06-10 15:40 Life is good"
|
||||
|
||||
Scenario: Upgrading a config without colors to colors
|
||||
Given we use the config "no_colors.yaml"
|
||||
When we run "jrnl -n 1"
|
||||
Then the config should contain
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
||||
|
||||
Scenario: Upgrade and parse journals with little endian date format
|
||||
Given we use the config "upgrade_from_195_little_endian_dates.json"
|
||||
When we run "jrnl -9 --short" and enter "Y"
|
||||
Then the output should contain
|
||||
10.06.2010 15:00 A life without chocolate is like a bad analogy.
|
||||
10.06.2013 15:40 He said "[this] is the best time to be alive".
|
||||
|
||||
Scenario: Upgrade with missing journal
|
||||
Given we use the config "upgrade_from_195_with_missing_journal.json"
|
||||
When we run "jrnl --list" and enter "Y"
|
||||
Then the output should contain "features/journals/missing.journal does not exist"
|
||||
And we should get no error
|
||||
|
||||
Scenario: Upgrade with missing encrypted journal
|
||||
Given we use the config "upgrade_from_195_with_missing_encrypted_journal.json"
|
||||
When we run "jrnl --list" and enter
|
||||
Y
|
||||
bad doggie no biscuit
|
||||
Then the output should contain "features/journals/missing.journal does not exist"
|
||||
And the output should contain "We're all done"
|
||||
And we should get no error
|
|
@ -1,356 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Feature: Writing new entries.
|
||||
|
||||
Scenario Outline: Multiline entry with punctuation should keep title punctuation
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
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"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
| encrypted.yaml |
|
||||
|
||||
Scenario Outline: Single line entry with period should be split at period
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl This is. the title"
|
||||
And we run "jrnl -1"
|
||||
Then the output should contain "| the title"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: CJK entry should be split at fullwidth period without following space.
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl 七転び。八起き"
|
||||
And we run "jrnl -1"
|
||||
Then the output should contain "| 八起き"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Writing an entry from command line should store the entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
|
||||
Then we should get no error
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should contain "2013-07-23 09:00 A cold and stormy day."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
| encrypted.yaml |
|
||||
|
||||
Scenario Outline: Writing a partial entry from command line with edit flag should go to the editor
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl this is a partial --edit"
|
||||
Then we should get no error
|
||||
Then the editor should have been called
|
||||
And the editor file content should be
|
||||
this is a partial
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_dayone.yaml |
|
||||
| basic_folder.yaml |
|
||||
|
||||
Scenario Outline: Clearing the editor's contents should yield "No text received" message
|
||||
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 --edit"
|
||||
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
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| editor.yaml |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_dayone.yaml |
|
||||
| basic_folder.yaml |
|
||||
|
||||
Scenario Outline: Writing an empty entry from the command line should yield "No entry to save" message
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl" and enter "\x04"
|
||||
Then the error output should contain "No entry to save, because no text was received"
|
||||
When we run "jrnl" and enter " \t \n \x04"
|
||||
Then the error output should contain "No entry to save, because no text was received"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Writing an empty entry from the command line with no editor should yield nothing
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --config-override editor ''" and enter ""
|
||||
Then the stdin prompt should have been called
|
||||
And the output should be empty
|
||||
And the error output should contain "To finish writing, press"
|
||||
And the editor should not have been called
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: Writing an entry does not print the entire journal
|
||||
# https://github.com/jrnl-org/jrnl/issues/87
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
|
||||
Then we should get no error
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should not contain "Life is good"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| editor.yaml |
|
||||
| editor_empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
| encrypted.yaml |
|
||||
|
||||
Scenario Outline: Embedded period stays in title
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic."
|
||||
Then we should get no error
|
||||
When we run "jrnl -1"
|
||||
Then the output should be
|
||||
2014-04-24 09:00 Created a new website - empty.com.
|
||||
| Hope to get a lot of traffic.
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
| encrypted.yaml |
|
||||
|
||||
Scenario Outline: Write and read emoji support
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘"
|
||||
Then we should get no error
|
||||
When we run "jrnl -n 1"
|
||||
Then the output should contain "🌞"
|
||||
And the output should contain "🐘"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| dayone.yaml |
|
||||
| encrypted.yaml |
|
||||
|
||||
Scenario Outline: Writing an entry at the prompt (no editor) should store the entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "bad doggie no biscuit" if prompted
|
||||
When we run "jrnl" and type "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."
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| simple.yaml |
|
||||
| empty_folder.yaml |
|
||||
| encrypted.yaml |
|
||||
|
||||
@todo
|
||||
Scenario: Writing an entry at the prompt (no editor) in DayOne journal
|
||||
# Need to test DayOne w/out an editor
|
||||
|
||||
Scenario: Writing into Dayone
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl 01 may 1979: Being born hurts."
|
||||
And we run "jrnl -until 1980"
|
||||
Then the output should be "1979-05-01 09:00 Being born hurts."
|
||||
|
||||
Scenario: Writing into Dayone adds extended metadata
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl 01 may 1979: Being born hurts."
|
||||
And we run "jrnl --export json"
|
||||
Then we should get no error
|
||||
And the output should be valid JSON
|
||||
Given we parse the output as JSON
|
||||
Then "entries" in the parsed output should have 5 elements
|
||||
And "entries.0.creator" in the parsed output should be
|
||||
software_agent
|
||||
os_agent
|
||||
host_name
|
||||
generation_date
|
||||
device_agent
|
||||
And "entries.0.creator.software_agent" in the parsed output should contain
|
||||
jrnl
|
||||
|
||||
Scenario: Title with an embedded period on DayOne journal
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl 04-24-2014: Ran 6.2 miles today in 1:02:03. I am feeling sore because I forgot to stretch."
|
||||
Then we should get no error
|
||||
When we run "jrnl -1"
|
||||
Then the output should be
|
||||
2014-04-24 09:00 Ran 6.2 miles today in 1:02:03.
|
||||
| I am feeling sore because I forgot to stretch.
|
||||
|
||||
Scenario: Opening an folder that's not a DayOne folder should treat as folder journal
|
||||
Given we use the config "empty_folder.yaml"
|
||||
When we run "jrnl 23 july 2013: Testing folder journal."
|
||||
Then we should get no error
|
||||
When we run "jrnl -1"
|
||||
Then the output should be "2013-07-23 09:00 Testing folder journal."
|
||||
|
||||
Scenario Outline: Count when adding a single entry via --edit
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we append to the editor if opened
|
||||
[2021-11-13] worked on jrnl tests
|
||||
When we run "jrnl --edit"
|
||||
Then the error output should contain "3 entries found"
|
||||
And the error output should contain "1 entry added"
|
||||
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
#| basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Correctly count when adding multiple entries via --edit
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we append to the editor if opened
|
||||
[2021-11-11] worked on jrnl tests
|
||||
[2021-11-12] worked on jrnl tests again
|
||||
[2021-11-13] worked on jrnl tests a little bit more
|
||||
When we run "jrnl --edit"
|
||||
Then the error output should contain "3 entries found"
|
||||
And the error output should contain "3 entries added"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
#| basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Correctly count when removing entries via --edit
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we write to the editor if opened
|
||||
[2021-11-13] I am replacing my whole journal with this entry
|
||||
When we run "jrnl --edit"
|
||||
Then the output should contain "2 entries deleted"
|
||||
And the output should contain "1 entry modified"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
#| basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Correctly count modification when running --edit to replace a single entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we write to the editor if opened
|
||||
[2021-11-13] I am replacing the last entry with this entry
|
||||
When we run "jrnl --edit -1"
|
||||
Then the error output should contain "1 entry modified"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
#| basic_dayone.yaml | @todo
|
||||
|
||||
|
||||
Scenario Outline: Count modifications when editing whole journal and adding to last entry
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we append to the editor if opened
|
||||
This is a small addendum to my latest entry.
|
||||
When we run "jrnl --edit"
|
||||
Then the error output should contain "3 entries found"
|
||||
And the error output should contain "1 entry modified"
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario Outline: No "Entry added" message should appear when writing to the default journal
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl This is a new entry"
|
||||
Then the output should not contain "Entry added"
|
||||
And we should get no error
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
||||
|
||||
Scenario: An "Entry added" message should appear when writing to a non-default journal
|
||||
Given we use the config "multiple.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl work This is a new entry"
|
||||
Then the output should contain "Entry added to work journal"
|
||||
And we should get no error
|
||||
|
||||
Scenario Outline: Tags are saved when an entry is edited with --edit and can be searched afterward
|
||||
Given we use the config "<config_file>"
|
||||
And we use the password "test" if prompted
|
||||
And we append to the editor if opened
|
||||
@newtag
|
||||
When we run "jrnl --edit -1"
|
||||
Then the error output should contain "1 entry modified"
|
||||
When we run "jrnl --tags @newtag"
|
||||
Then the output should contain
|
||||
1 entry found
|
||||
|
||||
Examples: configs
|
||||
| config_file |
|
||||
| basic_onefile.yaml |
|
||||
| basic_encrypted.yaml |
|
||||
| basic_folder.yaml |
|
||||
| basic_dayone.yaml |
|
|
@ -1,26 +0,0 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
from pytest_bdd import scenarios
|
||||
|
||||
scenarios("features/actions.feature")
|
||||
scenarios("features/build.feature")
|
||||
scenarios("features/config_file.feature")
|
||||
scenarios("features/core.feature")
|
||||
scenarios("features/datetime.feature")
|
||||
scenarios("features/delete.feature")
|
||||
scenarios("features/change_time.feature")
|
||||
scenarios("features/encrypt.feature")
|
||||
scenarios("features/file_storage.feature")
|
||||
scenarios("features/format.feature")
|
||||
scenarios("features/import.feature")
|
||||
scenarios("features/install.feature")
|
||||
scenarios("features/multiple_journals.feature")
|
||||
scenarios("features/override.feature")
|
||||
scenarios("features/password.feature")
|
||||
scenarios("features/search.feature")
|
||||
scenarios("features/star.feature")
|
||||
scenarios("features/tag.feature")
|
||||
scenarios("features/template.feature")
|
||||
scenarios("features/upgrade.feature")
|
||||
scenarios("features/write.feature")
|
|
@ -1,54 +1,2 @@
|
|||
# Copyright © 2012-2023 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
from pytest import mark
|
||||
from pytest import skip
|
||||
|
||||
from jrnl.os_compat import on_posix
|
||||
from jrnl.os_compat import on_windows
|
||||
|
||||
pytest_plugins = [
|
||||
"tests.lib.fixtures",
|
||||
"tests.lib.given_steps",
|
||||
"tests.lib.when_steps",
|
||||
"tests.lib.then_steps",
|
||||
]
|
||||
|
||||
|
||||
def pytest_bdd_apply_tag(tag, function):
|
||||
# skip markers
|
||||
if tag == "skip_win":
|
||||
marker = mark.skipif(on_windows(), reason="Skip test on Windows")
|
||||
elif tag == "skip_posix":
|
||||
marker = mark.skipif(on_posix(), reason="Skip test on Mac/Linux")
|
||||
|
||||
# only on OS markers
|
||||
elif tag == "on_win":
|
||||
marker = mark.skipif(not on_windows(), reason="Skip test not on Windows")
|
||||
elif tag == "on_posix":
|
||||
marker = mark.skipif(not on_posix(), reason="Skip test not on Mac/Linux")
|
||||
else:
|
||||
# Fall back to pytest-bdd's default behavior
|
||||
return None
|
||||
|
||||
marker(function)
|
||||
return True
|
||||
|
||||
|
||||
def pytest_runtest_setup(item):
|
||||
markers = [mark.name for mark in item.iter_markers()]
|
||||
|
||||
on_win = on_windows()
|
||||
on_nix = on_posix()
|
||||
|
||||
if "skip_win" in markers and on_win:
|
||||
skip("Skip test on Windows")
|
||||
|
||||
if "skip_posix" in markers and on_nix:
|
||||
skip("Skip test on Mac/Linux")
|
||||
|
||||
if "on_win" in markers and not on_win:
|
||||
skip("Skip test not on Windows")
|
||||
|
||||
if "on_posix" in markers and not on_nix:
|
||||
skip("Skip test not on Mac/Linux")
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
||||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: noop
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/basic_dayone.dayone
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
||||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: noop
|
||||
encrypt: true
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/basic_encrypted.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
||||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: noop
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/basic_folder
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
||||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: noop
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/basic_onefile.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/brackets.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/bug153.dayone
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
template: false
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/bug780.dayone
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
template: false
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: noop
|
||||
template: false
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/dayone.dayone
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: noop
|
||||
template: false
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/dayone_empty.dayone
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/deletion.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/deletion_filters.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,27 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
template: false
|
||||
template: false
|
||||
journals:
|
||||
default:
|
||||
encrypt: false
|
||||
journal: features/journals/simple.journal
|
||||
journal: features/journals/simple.journal
|
||||
ideas:
|
||||
encrypt: false
|
||||
journal: features/journals/does-not-exist.journal
|
||||
simple:
|
||||
encrypt: false
|
||||
journal: features/journals/simple.journal
|
||||
encrypt: false
|
||||
work:
|
||||
encrypt: false
|
||||
journal: features/journals/work.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
editor: nano
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: vim -f -c 'setf markdown'
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: "vim"
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
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: "|"
|
|
@ -1,17 +0,0 @@
|
|||
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,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
encrypt: false
|
||||
highlight: true
|
||||
editor: "vim"
|
||||
journals:
|
||||
default: features/journals/editor_markdown_extension.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: features/templates/extension.md
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
template: false
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/empty_folder
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: true
|
||||
template: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/encrypted.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"default_hour": 9,
|
||||
"default_minute": 0,
|
||||
"editor": "",
|
||||
"encrypt": true,
|
||||
"highlight": true,
|
||||
"journals": {
|
||||
"default": "features/journals/encrypted_jrnl-1-9-5.journal"
|
||||
},
|
||||
"linewrap": 80,
|
||||
"tagsymbols": "@",
|
||||
"timeformat": "%Y-%m-%d %H:%M"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: true
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/encrypted_jrnl1-9-5.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,19 +0,0 @@
|
|||
colors:
|
||||
body: none
|
||||
date: none
|
||||
tags: none
|
||||
title: none
|
||||
default_hour: 9
|
||||
default_minute: 0
|
||||
display_format: markdown
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
indent_character: '|'
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
template: false
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
version: v2.4.5
|
|
@ -1,19 +0,0 @@
|
|||
colors:
|
||||
body: none
|
||||
date: none
|
||||
tags: none
|
||||
title: none
|
||||
default_hour: 9
|
||||
default_minute: 0
|
||||
display_format: text
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
indent_character: '|'
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
template: false
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
version: v2.4.5
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: not-a-color
|
||||
title: also-not-a-color
|
||||
body: still-no-color
|
||||
tags: me-too
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: auto
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/little_endian_dates.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%d.%m.%Y %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
template: false
|
||||
journals:
|
||||
default: features/journals/markdown-headings-335.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,19 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/missing_directory/simple.journal
|
||||
endslash: features/journals/missing_folder/
|
||||
endbackslash: features\journals\missing_folder\
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/missing.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/mostlyreadabledates.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/multiline-tags.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/multiline.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,19 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
template: false
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
ideas: features/journals/does-not-exist.journal
|
||||
simple: features/journals/simple.journal
|
||||
work: features/journals/work.journal
|
||||
new_encrypted:
|
||||
encrypt: true
|
||||
journal: features/journals/new_encrypted.journal
|
||||
✨: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,12 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
|
@ -1,13 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
template: false
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
simple: features/journals/simple.journal
|
||||
work: features/journals/work.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/simple.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
template: false
|
||||
journals:
|
||||
default: features/journals/tags-216.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
template: false
|
||||
journals:
|
||||
default: features/journals/tags-237.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ''
|
||||
encrypt: false
|
||||
highlight: true
|
||||
template: false
|
||||
journals:
|
||||
default: features/journals/tags.journal
|
||||
linewrap: 80
|
||||
tagsymbols: '@'
|
||||
timeformat: '%Y-%m-%d %H:%M'
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,17 +0,0 @@
|
|||
default_hour: 9
|
||||
default_minute: 0
|
||||
editor: ""
|
||||
encrypt: false
|
||||
highlight: true
|
||||
journals:
|
||||
default: features/journals/unreadabledates.journal
|
||||
linewrap: 80
|
||||
tagsymbols: "@"
|
||||
template: false
|
||||
timeformat: "%Y-%m-%d %H:%M"
|
||||
indent_character: "|"
|
||||
colors:
|
||||
date: none
|
||||
title: none
|
||||
body: none
|
||||
tags: none
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"default_hour": 9,
|
||||
"timeformat": "%Y-%m-%d %H:%M",
|
||||
"linewrap": 80,
|
||||
"encrypt": false,
|
||||
"editor": "",
|
||||
"default_minute": 0,
|
||||
"highlight": true,
|
||||
"journals": {"default": "features/journals/simple_jrnl-1-9-5.journal"},
|
||||
"tagsymbols": "@"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"default_hour": 9,
|
||||
"timeformat": "%d.%m.%Y %H:%M",
|
||||
"linewrap": 80,
|
||||
"encrypt": false,
|
||||
"editor": "",
|
||||
"default_minute": 0,
|
||||
"highlight": true,
|
||||
"journals": {"default": "features/journals/simple_jrnl-1-9-5_little_endian_dates.journal"},
|
||||
"tagsymbols": "@"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"default_hour": 9,
|
||||
"timeformat": "%Y-%m-%d %H:%M",
|
||||
"linewrap": 80,
|
||||
"encrypt": true,
|
||||
"editor": "",
|
||||
"default_minute": 0,
|
||||
"highlight": true,
|
||||
"journals": {"default": "features/journals/encrypted_jrnl-1-9-5.journal", "missing": "features/journals/missing.journal"},
|
||||
"tagsymbols": "@"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"default_hour": 9,
|
||||
"timeformat": "%Y-%m-%d %H:%M",
|
||||
"linewrap": 80,
|
||||
"encrypt": false,
|
||||
"editor": "",
|
||||
"default_minute": 0,
|
||||
"highlight": true,
|
||||
"journals": {"default": "features/journals/simple_jrnl-1-9-5.journal", "missing": "features/journals/missing.journal"},
|
||||
"tagsymbols": "@"
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2020-08-29T18:11:00Z</date>
|
||||
<key>Starred</key>
|
||||
<false/>
|
||||
<key>Entry Text</key>
|
||||
<string>Entry the first.
|
||||
Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
|
||||
quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque
|
||||
augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu
|
||||
consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In
|
||||
commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget
|
||||
venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo.
|
||||
|
||||
Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo
|
||||
ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse
|
||||
potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget
|
||||
molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus
|
||||
hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis
|
||||
feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum
|
||||
urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim.
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget
|
||||
velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac
|
||||
porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per
|
||||
conubia nostra, per inceptos himenaeos.</string>
|
||||
<key>Time Zone</key>
|
||||
<string>America/Los_Angeles</string>
|
||||
<key>UUID</key>
|
||||
<string>D04D335AFED711EABA18FAFFC2100C3D</string>
|
||||
<key>Tags</key>
|
||||
<array>
|
||||
<string>ipsum</string>
|
||||
<string>tagone</string>
|
||||
<string>tagtwo</string>
|
||||
</array>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string></string>
|
||||
<key>Generation Date</key>
|
||||
<date>2020-09-25T02:35:45Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>iris.lan</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Darwin/19.3.0</string>
|
||||
<key>Software Agent</key>
|
||||
<string>jrnl/v2.4.5</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,55 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2020-08-31T21:32:00Z</date>
|
||||
<key>Starred</key>
|
||||
<false/>
|
||||
<key>Entry Text</key>
|
||||
<string>A second entry in what I hope to be a long series.
|
||||
Sed sit amet metus et sapien feugiat elementum. Aliquam bibendum lobortis leo
|
||||
vitae tempus. Donec eleifend nec mi non volutpat. Lorem ipsum dolor sit amet,
|
||||
consectetur adipiscing elit. Praesent ut sodales libero. Maecenas nisl lorem,
|
||||
vestibulum in tempus sit amet, fermentum ut arcu. Donec vel vestibulum lectus,
|
||||
eget pretium enim. Maecenas diam nunc, imperdiet vitae pharetra sed, pretium id
|
||||
lectus. Donec eu metus et turpis tempor tristique ac non ex. In tellus arcu,
|
||||
egestas at efficitur et, ultrices vel est. Sed commodo et nibh non elementum.
|
||||
Mauris tempus vitae neque vel viverra. @tagtwo all by its lonesome.
|
||||
|
||||
Nulla mattis elementum magna, viverra pretium dui fermentum et. Cras vel
|
||||
vestibulum odio. Quisque sit amet turpis et urna finibus maximus. Interdum et
|
||||
malesuada fames ac ante ipsum primis in faucibus. Fusce porttitor iaculis sem,
|
||||
non dictum ipsum varius nec. Nulla eu erat at risus gravida blandit non vel
|
||||
ante. Nam egestas ipsum leo, eu ultricies ipsum tincidunt vel. Morbi a commodo
|
||||
eros.
|
||||
|
||||
Nullam dictum, nisl ac varius tempus, ex tortor fermentum nisl, non
|
||||
tempus dolor neque a lorem. Suspendisse a faucibus ex, vel ornare tortor.
|
||||
Maecenas tincidunt id felis quis semper. Pellentesque enim libero, fermentum
|
||||
quis metus id, rhoncus euismod magna. Nulla finibus velit eu purus bibendum
|
||||
interdum. Integer id justo dui. Integer eu tellus in turpis bibendum blandit.
|
||||
Quisque auctor lacinia consectetur.</string>
|
||||
<key>Time Zone</key>
|
||||
<string>America/Los_Angeles</string>
|
||||
<key>UUID</key>
|
||||
<string>FC8A86CAFED711EA8892FAFFC2100C3D</string>
|
||||
<key>Tags</key>
|
||||
<array>
|
||||
<string>tagtwo</string>
|
||||
</array>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string></string>
|
||||
<key>Generation Date</key>
|
||||
<date>2020-09-25T02:36:59Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>iris.lan</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Darwin/19.3.0</string>
|
||||
<key>Software Agent</key>
|
||||
<string>jrnl/v2.4.5</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,44 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2020-09-24T16:14:00Z</date>
|
||||
<key>Starred</key>
|
||||
<true/>
|
||||
<key>Entry Text</key>
|
||||
<string>The third entry finally after weeks without writing.
|
||||
I'm so excited about emojis. 💯 🎶 💩
|
||||
|
||||
Donec semper pellentesque iaculis. Nullam cursus et justo sit amet venenatis.
|
||||
Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. Nulla
|
||||
eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis
|
||||
dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada.
|
||||
Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis
|
||||
vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo.
|
||||
Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at
|
||||
ante eget fringilla. @tagthree and also @tagone</string>
|
||||
<key>Time Zone</key>
|
||||
<string>America/Los_Angeles</string>
|
||||
<key>UUID</key>
|
||||
<string>FD8ABC8EFED711EABC35FAFFC2100C3D</string>
|
||||
<key>Tags</key>
|
||||
<array>
|
||||
<string>tagthree</string>
|
||||
<string>tagone</string>
|
||||
</array>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string></string>
|
||||
<key>Generation Date</key>
|
||||
<date>2020-09-25T02:37:01Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>iris.lan</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Darwin/19.3.0</string>
|
||||
<key>Software Agent</key>
|
||||
<string>jrnl/v2.4.5</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1 +0,0 @@
|
|||
gAAAAABfb4gQBMqqGn_W8v_s7qCi14bX7inuCOKbsBqIUf7_ch14vTUp7lrysPFvhBp5vGijTwDIbk4LKoIISj8NwM31I8L0zEbMx9y6iyF_zseGGNxBvNN0wzAXa67bs-ohiQhhebcdIc_52sltxL2ELh8JAKUaXRwyapgnMgJ7z6deJppLK-B7RE7BiT0eKjWTDMd2x6cZDswvHs9opDp5yjuKWV5m7x6ggCKYgHT3savT9Tg7V0Fq6K3LGWaE59lCrqlAB0u6dnrDX3qcF4SKyckaniXzRShZGebdkUKDcLFun2V2syZwYQN772xjznIsJ16iXicox2uYKg8CnTefsyCwaOZyBvySGEy3CrlBiuIRIcxCtjKbYJ2B-Aq7LZitnBR7Ny_6_Wm8HsBf3N-cFCp4GShiCKrxuXKcOZ7vszG5EKb78JS85bb0mswU5CSdgp6UAHjIZqfJq00qQsViBCbXq3oklCPZXdQkOf5U0KpG2MVUiD-Zcn5Qj3gnUhSEr-5wKU9tWrE63MGPyE6KjZlArZX2W2LeGnW2CEYw9eREGon06AzLJ4mj3BgtjVWLIdGcCwORXvHRjUqazWgbEmXNVTbtp_cKnkW-rFzRBrUoVme9v-1Y3sH0VvHBq7QIj915VzBklzWs1qzIyTPZG5Db9LvdQ7SiV8slf1Jo7l-ayUUdVj6igvKZcgfB4RUHolJoMps5p4lZ5sPqv59KtSa8DCpuoRczIj71OCpuRVARZgy1m5sUD9xSMxOBdy46u1Jnry6iMtzXWI3mEZe5m7UhmW_L4Zcv4bbk8XjkBeHjPdgm2B69jkLmCBFecD5ztoGesCGt_pNo_sWSKqLHV1-coKFB2Nn__a4utU9NJNdeNRkr8_ahU6tn3jmaFjfQ7cKfrXG_NCcYBRX9fja8EQIeBEp_3TCoXQqhuV_bGsNPA2qL63Pt6YiRaUf1g9FNBqJRlKCSOYNixSXQZN_rTePzx0SQ0aIQhADWls62WX-LG5-byJcB6W2P_cH21hDOXkoNEIyLnCz9HQ6Yd6Fbv7298ps3F6jiUDdWES23zv8sDgBuKUN94qSN34j6MDYGFnGI9zsJ-Y-I2frdlLfWPx3pUL7afcKh1nRgXdjctsTSxU2BDrsu03eBz2IoZjoOR0U51IrNMOD1NNT3kctXxHLuOHSEkwAzS3doncQbdRLi5Gc1dQuOUa4sC-p8gVjUKXO-oi_49kp9Km2Ay9wFg0epBbXx2QMzyMsN2dXeSbHF-BDXD6sULaq5syC0fOHqaMLycTCMk2wLfNyXgEt05WvAiDn-LDsRdylMRW2hXp5HWq3Poaul-7VNg6UEMlwVfgJ-7hNreuO6IRtwmx6YdqMscw0ms6mU_MQZU_dTIPg3JU4KL0YyMqPBPSGNCx3gMp41O05Ubir45FoJSnT5Dkj4v3N0S87Ys3HuFLverASsGt9bkcSzd2uMKCJjkspemPPi9VhrY4IOO03DWSWbHmxYzFc1SJ-24WM8Ch404QKpe1qy5LNzFgLvDwQhSIHjluezHXqrD-DVh1lWNNY3WmHI2ubOZfaorvLKqzBPZ6AhpIa60rKjm0OZIQOmJwWXwkdnzut6m8PtoiLzRN897YMgeztf1nmDwp0xE-EhknVZ3WV3TeqgZJ5ykfHQ5BU8x0Db57-UtKSuesKbqPPdBe91OdsPpkGlyl6psHj1_gPm4nLvzXQePwiPaEemR_gYCWGPvl9l1ANJufgCV9qQTmZGof3fb9mjv-9lS-9l_m8KirPPRpSBToNeDtk50ceYUsOlDGzIyusppG9pOcIGyiln1IO5aZ8d4_1E83qjcHTSaKGizICZU7a-pt5STBPMesy3JgBm23A2jO4m68ayBRMcLnw_RirHvvBaj0C6UR2tac45F0Ob3PpXcvFuK0g54ziIAhzGqwF9I-LZ6asXQWMW4y4EBOak8JJBorkfztzfkMaIgGu-4ZoRKOkVfdr4uzcghk3r6KUxD4-nv1ioX69-G5RwhMHppYk7z8RXS1cq5FkvzXbfEQ-Uv6M-sx32DcUy9dH-ZYhc7UWm75JJfiNXLaXT_bsc6VqQ7KPkg2-RA7CywUFCW9S0S-XdO03VdwqlUVo7fp1SKywEfhZv_9bhDCdMJBwZmigv2KP9Iz7fF6LrpLwZkzHuQGFPcyTHFpsVIFrFyJjNYCXpET9y0Q5Vt4fnea5fy-9ZiCt3S8aS0YOFJ35_kM5i3ss8eFPL0v7fIQS3ZilzdGB3bWL0J7kppHN_ekHu-wVk3UZxauoFh7hXLjPcipua-FYUIklLjcK6DG1bYP7_q6OnkC8Jl650FNezeWPomHEv7l_DO3y0tjI6SGdWvL3ZJns7Xp3ew8KsCREAUO7ffqumD03uF9N-9uWbDDjM7rk0vcg0ggfOs9Ni725mxqYpu4R285XCOVWHDvw7iU6eAvE6ry8TDXQBbNgGjTuTYFYYli7GuOqMxFIe1op2s7sRnoJE8O0J76S6APhjhjcnZRSuONWkVG_5o83uFMPSF8DtqLwuRA5E8AGfIwAUcj324sw-DA0ixBGUqomb-osUIisv3x0b044xn-FvD-8R3PZDnPbPsao8XYNxfQWStrNcZSrX2Ua-WAcv9qbQ73_57RKW4pao4ajOu7K5800D231WGiIa6aJzDnFUlzXEzYxFQyx7qegkm_9rrEp_v8TC9mfAcjWX5DMrCkxUskx9YKDfpFYq4NuxO_414gReKzd-lmorfigvttgS10N1XD74SwFluXJv-bqTbI5-SuYAhDGMv1dqrn38i3rOMQqqnQomvaUJRprqxUsKz14sSE1Y-cNqq1FXzZ6vIJq-K3YTfFWPRLeqi6gHzqS_R2YBXXUduKuYgmakiVdP3bWc-Ca8WKh5sVi6P51MO-cS7i9AZWOaOz7F8PsB4JZxAJjSOr3NBmv3EEve9auTFCudRjfC6668I_NMHaTP5CCV4cuhuAxUuKUGgd6WFjDcvoYPyn_lu3bQiqD9MEag4CaJYI9PlraRv5mbqptwxv3pca7usd0GmXN_2No_nwxB4gVb48LsBBkH35njCa5iv2EKXUSOf0k3swaTSEahqbyI4EDzPXtU5uBO39iQzNpgfV_sUpnGdysjqueUVcdWGI_s5CnrNJ-_yDAY06AoXfLrjP8_3NXB2058xZ2rfmTNJNCULz9634dICJReXNnmplxIg3i6GbzFvjfNtqjrWr_iqBShyIwuOUJRbXzdJNggx2BDNG-PEWDXl89SaudFICkDvyZKEcATIss6ZXfULIMfCrqmWmFwgXfNEd9TuvjqoxFlLSaY4UfDMiYa_arUMblFfoo5nV07GANhUoQd-6HRe7LjYeX5VRodOx6ZmZjIAUq-DYr-hatJJFR2tjT_qZht2MJeYT3GZ3o54m8zBBt0JTN7HVpKaOaM3A2hEM_Ah0QZ-DkLDxtCzMuv987GDiLT2-Riya97a47yHIJhZFzFpflW2FcuC8RFWXlfUKTQfZkFmxh3MUekUuS4yu4Z121xojVswk_4P7-FqLaSnGT2epI69I_cvalRx3wjds9-5TFYqf4GridlFBRx6Fv2fpNB9Zvp9k7NQ9oYcPuXGLoXH5kmWBagPhEGKHA_pjFUZmCuwUIoeP4nP8lhFrX8OGezsbSBG773CRJzEdfcgAc5G-p6M_24WZLZHDrsVBAvgrNt6R9eQbEviWU28t_417QCp-or9qqt4OTKv1dp_4MlZh8YBg2-dtpvzSc1l5e4kQFJu7oWlpbgsjB6pl1oRRKp1maedX-gOAf559zC4l85gfEpPln9Cnl6xvERQzfO0Ey4q91SdsgK7i7FBrKKmi2wGiemFvnaQsrjZ_IFujLo8-2c8g9zTiyH1knyoVOAAnQxqGpsz6z6PNfSxr3_G8tOlNFTV-yqN_LdVHMgXtXjn3U9koGsfMulyUcBDdR3d_0Yn6iEjBt77tbxKi2ry-0gQrB1fdGsgKjyE_tMrW8D_lQz0IXsVOzd2ixsFVXMFzD6OOD8JldV0FbA-VDAS-Tp_ezIZVp6lRq54XBgvsjzDyOmOgDbSOQN6SQmvxPnIsml1wgmtm80z-9gHBqmimHBtLKB6L7CtLmmPICMS2pX3eWOmakxscxqs8AVjijJdz_NYNfcdBeDj_fhm6dqD6iwk3EBZZfsrmMGdXtAMqf1r9ng9tsz-FriXwQiJ3IM3loBsk5DKr9CcaJtKSPuwDDlRynD2vwcD-XyF6YTQdSJa9fEcq-qXya2Scj4mqQ4RDemJgErdradRfwJfII3fWHh18XxmYVqi9Bwn3YRgwEadyo0-HjbNq6vJXi12igmP99ciRAfMVQLjfUfTwoOHj44Y2Ru_hPjJcvB6FIn6KLrrCSrZnrshFdFn4L36z1CrS8fbtdvrG3kdZQxsUJnMqttuwKRpLnDWTWkIwj_GRBFrzCFgbwGp1XYhemxggyKVuhZPfyyTIM9rhlPth6eGyrpYfap24Av_mGPRBLnzcjtpGbACGdKQL034kVmI7yENGvmY40KSrWsVG_BE9bSJhx0EptFsT2IxnxbuFD4hGb4fFag9V0BDiKpUoOZqIVqVO8cAp-5w4twvWZKkrhu16JNlLoXWMoFANrw-tp5LKSin1CUeRa4LWVI1GR8tRkIad_GnCHRv9JEMswlNy9wi2sDNsSxWT7WNasUW5-glgK9pR7d2pXGGOWfHj1U6CKIqmAiO3iw8igzhvyx_dAxMxPo
|
|
@ -1,19 +0,0 @@
|
|||
[2020-08-29 11:11:00 AM] Entry the first.
|
||||
Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
|
||||
quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque
|
||||
augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu
|
||||
consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In
|
||||
commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget
|
||||
venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo.
|
||||
|
||||
Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo
|
||||
ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse
|
||||
potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget
|
||||
molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus
|
||||
hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis
|
||||
feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum
|
||||
urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim.
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget
|
||||
velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac
|
||||
porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per
|
||||
conubia nostra, per inceptos himenaeos.
|
|
@ -1,23 +0,0 @@
|
|||
[2020-08-31 02:32:00 PM] A second entry in what I hope to be a long series. *
|
||||
Sed sit amet metus et sapien feugiat elementum. Aliquam bibendum lobortis leo
|
||||
vitae tempus. Donec eleifend nec mi non volutpat. Lorem ipsum dolor sit amet,
|
||||
consectetur adipiscing elit. Praesent ut sodales libero. Maecenas nisl lorem,
|
||||
vestibulum in tempus sit amet, fermentum ut arcu. Donec vel vestibulum lectus,
|
||||
eget pretium enim. Maecenas diam nunc, imperdiet vitae pharetra sed, pretium id
|
||||
lectus. Donec eu metus et turpis tempor tristique ac non ex. In tellus arcu,
|
||||
egestas at efficitur et, ultrices vel est. Sed commodo et nibh non elementum.
|
||||
Mauris tempus vitae neque vel viverra. @tagtwo all by its lonesome.
|
||||
|
||||
Nulla mattis elementum magna, viverra pretium dui fermentum et. Cras vel
|
||||
vestibulum odio. Quisque sit amet turpis et urna finibus maximus. Interdum et
|
||||
malesuada fames ac ante ipsum primis in faucibus. Fusce porttitor iaculis sem,
|
||||
non dictum ipsum varius nec. Nulla eu erat at risus gravida blandit non vel
|
||||
ante. Nam egestas ipsum leo, eu ultricies ipsum tincidunt vel. Morbi a commodo
|
||||
eros.
|
||||
|
||||
Nullam dictum, nisl ac varius tempus, ex tortor fermentum nisl, non
|
||||
tempus dolor neque a lorem. Suspendisse a faucibus ex, vel ornare tortor.
|
||||
Maecenas tincidunt id felis quis semper. Pellentesque enim libero, fermentum
|
||||
quis metus id, rhoncus euismod magna. Nulla finibus velit eu purus bibendum
|
||||
interdum. Integer id justo dui. Integer eu tellus in turpis bibendum blandit.
|
||||
Quisque auctor lacinia consectetur.
|
|
@ -1,11 +0,0 @@
|
|||
[2020-09-24 09:14:00 AM] The third entry finally after weeks without writing.
|
||||
I'm so excited about emojis. 💯 🎶 💩
|
||||
|
||||
Donec semper pellentesque iaculis. Nullam cursus et justo sit amet venenatis.
|
||||
Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. Nulla
|
||||
eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis
|
||||
dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada.
|
||||
Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis
|
||||
vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo.
|
||||
Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at
|
||||
ante eget fringilla. @tagthree and also @tagone
|
|
@ -1,4 +0,0 @@
|
|||
[2022-03-02 9:25:00 AM] This file should be ignored (month)
|
||||
This text file is in a folder journal's month directory ("2020/09"), but it's not in the file name format used by jrnl for folder journal entries, so it should be ignored.
|
||||
|
||||
This file should not ever appear in a test.
|
|
@ -1,4 +0,0 @@
|
|||
[2022-03-02 9:25:00 AM] This file should be ignored (year)
|
||||
This text file is in a folder journal's year directory ("2020"), but it's not in the file name format used by jrnl for folder journal entries, so it should be ignored.
|
||||
|
||||
This file should not ever appear in a test.
|
|
@ -1,4 +0,0 @@
|
|||
[2022-03-02 9:25:00 AM] This file should be ignored (root)
|
||||
This text file is in a folder journal's root directory, but it's not in the file name format used by jrnl for folder journal entries, so it should be ignored.
|
||||
|
||||
This file should not ever appear in a test.
|
|
@ -1,58 +0,0 @@
|
|||
[2020-08-29 11:11] Entry the first.
|
||||
|
||||
Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
|
||||
quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque
|
||||
augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu
|
||||
consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In
|
||||
commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget
|
||||
venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo.
|
||||
|
||||
Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo
|
||||
ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse
|
||||
potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget
|
||||
molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus
|
||||
hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis
|
||||
feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum
|
||||
urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim.
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget
|
||||
velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac
|
||||
porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per
|
||||
conubia nostra, per inceptos himenaeos.
|
||||
|
||||
[2020-08-31 14:32] A second entry in what I hope to be a long series. *
|
||||
|
||||
Sed sit amet metus et sapien feugiat elementum. Aliquam bibendum lobortis leo
|
||||
vitae tempus. Donec eleifend nec mi non volutpat. Lorem ipsum dolor sit amet,
|
||||
consectetur adipiscing elit. Praesent ut sodales libero. Maecenas nisl lorem,
|
||||
vestibulum in tempus sit amet, fermentum ut arcu. Donec vel vestibulum lectus,
|
||||
eget pretium enim. Maecenas diam nunc, imperdiet vitae pharetra sed, pretium id
|
||||
lectus. Donec eu metus et turpis tempor tristique ac non ex. In tellus arcu,
|
||||
egestas at efficitur et, ultrices vel est. Sed commodo et nibh non elementum.
|
||||
Mauris tempus vitae neque vel viverra. @tagtwo all by its lonesome.
|
||||
|
||||
Nulla mattis elementum magna, viverra pretium dui fermentum et. Cras vel
|
||||
vestibulum odio. Quisque sit amet turpis et urna finibus maximus. Interdum et
|
||||
malesuada fames ac ante ipsum primis in faucibus. Fusce porttitor iaculis sem,
|
||||
non dictum ipsum varius nec. Nulla eu erat at risus gravida blandit non vel
|
||||
ante. Nam egestas ipsum leo, eu ultricies ipsum tincidunt vel. Morbi a commodo
|
||||
eros.
|
||||
|
||||
Nullam dictum, nisl ac varius tempus, ex tortor fermentum nisl, non
|
||||
tempus dolor neque a lorem. Suspendisse a faucibus ex, vel ornare tortor.
|
||||
Maecenas tincidunt id felis quis semper. Pellentesque enim libero, fermentum
|
||||
quis metus id, rhoncus euismod magna. Nulla finibus velit eu purus bibendum
|
||||
interdum. Integer id justo dui. Integer eu tellus in turpis bibendum blandit.
|
||||
Quisque auctor lacinia consectetur.
|
||||
|
||||
[2020-09-24 09:14] The third entry finally after weeks without writing.
|
||||
|
||||
I'm so excited about emojis. 💯 🎶 💩
|
||||
|
||||
Donec semper pellentesque iaculis. Nullam cursus et justo sit amet venenatis.
|
||||
Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. Nulla
|
||||
eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis
|
||||
dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada.
|
||||
Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis
|
||||
vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo.
|
||||
Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at
|
||||
ante eget fringilla. @tagthree and also @tagone
|
|
@ -1,2 +0,0 @@
|
|||
[2019-07-08 05:42] Entry subject
|
||||
[1] line starting with 1
|
|
@ -1,56 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
|
||||
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2013-10-27T02:27:27Z</date>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string>iPhone/iPhone3,1</string>
|
||||
<key>Generation Date</key>
|
||||
<date>2013-10-27T07:02:27Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>omrt104001</string>
|
||||
<key>OS Agent</key>
|
||||
<string>iOS/7.0.3</string>
|
||||
<key>Software Agent</key>
|
||||
<string>Day One (iOS)/1.11.4</string>
|
||||
</dict>
|
||||
<key>Entry Text</key>
|
||||
<string>Some text.</string>
|
||||
<key>Location</key>
|
||||
<dict>
|
||||
<key>Administrative Area</key>
|
||||
<string>Östergötlands län</string>
|
||||
<key>Country</key>
|
||||
<string>Sverige</string>
|
||||
<key>Latitude</key>
|
||||
<real>58.383400000000000</real>
|
||||
<key>Locality</key>
|
||||
<string>City</string>
|
||||
<key>Longitude</key>
|
||||
<real>15.577170000000000</real>
|
||||
<key>Place Name</key>
|
||||
<string>Street</string>
|
||||
</dict>
|
||||
<key>Starred</key>
|
||||
<false/>
|
||||
<key>Time Zone</key>
|
||||
<string>Europe/Stockholm</string>
|
||||
<key>UUID</key>
|
||||
<string>B40EE704E15846DE8D45C44118A4D511</string>
|
||||
<key>Weather</key>
|
||||
<dict>
|
||||
<key>Celsius</key>
|
||||
<string>12</string>
|
||||
<key>Description</key>
|
||||
<string>Clear</string>
|
||||
<key>Fahrenheit</key>
|
||||
<string>54</string>
|
||||
<key>IconName</key>
|
||||
<string>sunnyn.png</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,52 +0,0 @@
|
|||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2013-10-27T02:27:27Z</date>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string>iPhone/iPhone3,1</string>
|
||||
<key>Generation Date</key>
|
||||
<date>2013-10-27T07:02:27Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>omrt104001</string>
|
||||
<key>OS Agent</key>
|
||||
<string>iOS/7.0.3</string>
|
||||
<key>Software Agent</key>
|
||||
<string>Day One (iOS)/1.11.4</string>
|
||||
</dict>
|
||||
<key>Entry Text</key>
|
||||
<string>This is not a valid plist.</string>
|
||||
<key>Location</key>
|
||||
<dict>
|
||||
<key>Administrative Area</key>
|
||||
<string>Östergötlands län</string>
|
||||
<key>Country</key>
|
||||
<string>Sverige</string>
|
||||
<key>Latitude</key>
|
||||
<real>58.383400000000000</real>
|
||||
<key>Locality</key>
|
||||
<string>City</string>
|
||||
<key>Longitude</key>
|
||||
<real>15.577170000000000</real>
|
||||
<key>Place Name</key>
|
||||
<string>Street</string>
|
||||
</dict>
|
||||
<key>Starred</key>
|
||||
<false/>
|
||||
<key>Time Zone</key>
|
||||
<string>Europe/Stockholm</string>
|
||||
<key>UUID</key>
|
||||
<string>B40EE704E15846DE8D45C44118A4D511</string>
|
||||
<key>Weather</key>
|
||||
<dict>
|
||||
<key>Celsius</key>
|
||||
<string>12</string>
|
||||
<key>Description</key>
|
||||
<string>Clear</string>
|
||||
<key>Fahrenheit</key>
|
||||
<string>54</string>
|
||||
<key>IconName</key>
|
||||
<string>sunnyn.png</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,33 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Activity</key>
|
||||
<string>Stationary</string>
|
||||
<key>Creation Date</key>
|
||||
<date>2019-12-30T21:28:54Z</date>
|
||||
<key>Entry Text</key>
|
||||
<string></string>
|
||||
<key>Starred</key>
|
||||
<false />
|
||||
<key>UUID</key>
|
||||
<string>48A25033B34047C591160A4480197D8B</string>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string>PC</string>
|
||||
<key>Generation Date</key>
|
||||
<date>2019-12-30T21:28:54Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>LE-TREPORT</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Microsoft Windows/10 Home</string>
|
||||
<key>Software Agent</key>
|
||||
<string>Journaley/2.1</string>
|
||||
</dict>
|
||||
<key>Tags</key>
|
||||
<array>
|
||||
<string>i_have_no_body</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,34 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2013-05-17T18:39:20Z</date>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string>Macintosh/MacBookAir5,2</string>
|
||||
<key>Generation Date</key>
|
||||
<date>2013-08-17T18:39:20Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>Egeria</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Mac OS X/10.8.4</string>
|
||||
<key>Software Agent</key>
|
||||
<string>Day One (Mac)/1.8</string>
|
||||
</dict>
|
||||
<key>Entry Text</key>
|
||||
<string>This entry has tags!</string>
|
||||
<key>Starred</key>
|
||||
<false/>
|
||||
<key>Tags</key>
|
||||
<array>
|
||||
<string>work</string>
|
||||
<string>PLaY</string>
|
||||
</array>
|
||||
<key>Time Zone</key>
|
||||
<string>America/Los_Angeles</string>
|
||||
<key>UUID</key>
|
||||
<string>044F3747A38546168B572C2E3F217FA2</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,46 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2013-06-17T18:38:29Z</date>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string>Macintosh/MacBookAir5,2</string>
|
||||
<key>Generation Date</key>
|
||||
<date>2013-08-17T18:38:29Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>Egeria</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Mac OS X/10.8.4</string>
|
||||
<key>Software Agent</key>
|
||||
<string>Day One (Mac)/1.8</string>
|
||||
</dict>
|
||||
<key>Entry Text</key>
|
||||
<string>This entry has a location.</string>
|
||||
<key>Location</key>
|
||||
<dict>
|
||||
<key>Administrative Area</key>
|
||||
<string>California</string>
|
||||
<key>Country</key>
|
||||
<string>Germany</string>
|
||||
<key>Latitude</key>
|
||||
<real>52.4979764</real>
|
||||
<key>Locality</key>
|
||||
<string>Berlin</string>
|
||||
<key>Longitude</key>
|
||||
<real>13.2404758</real>
|
||||
<key>Place Name</key>
|
||||
<string>Abandoned Spy Tower</string>
|
||||
</dict>
|
||||
<key>Starred</key>
|
||||
<false/>
|
||||
<key>Tags</key>
|
||||
<array/>
|
||||
<key>Time Zone</key>
|
||||
<string>Europe/Berlin</string>
|
||||
<key>UUID</key>
|
||||
<string>0BDDD6CDA43C4A9AA2681517CC35AD9D</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2013-07-17T18:38:08Z</date>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string>Macintosh/MacBookAir5,2</string>
|
||||
<key>Generation Date</key>
|
||||
<date>2013-08-17T18:38:08Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>Egeria</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Mac OS X/10.8.4</string>
|
||||
<key>Software Agent</key>
|
||||
<string>Day One (Mac)/1.8</string>
|
||||
</dict>
|
||||
<key>Entry Text</key>
|
||||
<string>This entry is starred!</string>
|
||||
<key>Starred</key>
|
||||
<true/>
|
||||
<key>Tags</key>
|
||||
<array/>
|
||||
<key>Time Zone</key>
|
||||
<string>America/Los_Angeles</string>
|
||||
<key>UUID</key>
|
||||
<string>422BC895507944A291E6FC44FC6B8BFC</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Creation Date</key>
|
||||
<date>2013-01-17T18:37:50Z</date>
|
||||
<key>Creator</key>
|
||||
<dict>
|
||||
<key>Device Agent</key>
|
||||
<string>Macintosh/MacBookAir5,2</string>
|
||||
<key>Generation Date</key>
|
||||
<date>2013-08-17T18:37:50Z</date>
|
||||
<key>Host Name</key>
|
||||
<string>Egeria</string>
|
||||
<key>OS Agent</key>
|
||||
<string>Mac OS X/10.8.4</string>
|
||||
<key>Software Agent</key>
|
||||
<string>Day One (Mac)/1.8</string>
|
||||
</dict>
|
||||
<key>Entry Text</key>
|
||||
<string>This is a DayOne entry without Timezone.</string>
|
||||
<key>Starred</key>
|
||||
<false/>
|
||||
<key>Tags</key>
|
||||
<array/>
|
||||
<key>UUID</key>
|
||||
<string>4BB1F46946AD439996C9B59DE7C4DDC1</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1 +0,0 @@
|
|||
This file exists to preserve the directory structure, but should be ignored by jrnl.
|
|
@ -1,5 +0,0 @@
|
|||
[2019-10-29 11:11] First entry.
|
||||
|
||||
[2019-10-29 11:11] Second entry.
|
||||
|
||||
[2019-10-29 11:13] Third entry.
|
|
@ -1,14 +0,0 @@
|
|||
[2019-10-01 08:00] It's just another day in October.
|
||||
Not much to write about.
|
||||
|
||||
[2020-01-01 08:00] Happy New Year!
|
||||
So this is the New Year. @holidays
|
||||
|
||||
[2020-03-01 08:00] It's just another day in March.
|
||||
A stick, a stone, it's the end of the road.
|
||||
|
||||
[2020-05-01 09:00] Happy May Day!
|
||||
@holidays @springtime Several holidays fall on this date.
|
||||
|
||||
[2020-05-02 12:10] Writing tests. *
|
||||
@springtime They will help prevent bugs.
|
|
@ -1 +0,0 @@
|
|||
Nothing to see here
|
|
@ -1 +0,0 @@
|
|||
gAAAAABVIHB7tnwKExG7aC5ZbAbBL9SG2oY2GENeoOJ22i1PZigOvCYvrQN3kpsu0KGr7ay5K-_46R5YFlqJvtQ8anPH2FSITsaZy-l5Lz_5quw3rmzhLwAR1tc0icgtR4MEpXEdsuQ7cyb12Xq-JLDrnATs0id5Vow9Ri_tE7Xe4BXgXaySn3aRPwWKoninVxVPVvETY3MXHSUEXV9OZ-pH5kYBLGYbLA==
|
Binary file not shown.
|
@ -1,5 +0,0 @@
|
|||
[09.06.2013 15:39] My first entry.
|
||||
Everything is alright
|
||||
|
||||
[10.07.2013 15:40] Life is good.
|
||||
But I'm better.
|
|
@ -1,42 +0,0 @@
|
|||
[2015-04-14 13:23] Heading Test
|
||||
|
||||
H1-1
|
||||
=
|
||||
|
||||
H1-2
|
||||
===
|
||||
|
||||
H1-3
|
||||
============================
|
||||
|
||||
H2-1
|
||||
-
|
||||
|
||||
H2-2
|
||||
---
|
||||
|
||||
H2-3
|
||||
----------------------------------
|
||||
|
||||
Horizontal Rules (ignore)
|
||||
|
||||
---
|
||||
|
||||
===
|
||||
|
||||
# ATX H1
|
||||
|
||||
## ATX H2
|
||||
|
||||
### ATX H3
|
||||
|
||||
#### ATX H4
|
||||
|
||||
##### ATX H5
|
||||
|
||||
###### ATX H6
|
||||
|
||||
Stuff
|
||||
|
||||
More stuff
|
||||
more stuff again
|
|
@ -1,8 +0,0 @@
|
|||
[2019-07-18 14:23] The first entry
|
||||
Time machines are possible. I know, because I've built one in my garage.
|
||||
|
||||
[2019-07-19 14:23] The second entry
|
||||
I'm going to activate the machine. Nobody knows what comes next after this. Or before this?
|
||||
|
||||
[2019-07 14:23] The third entry
|
||||
I've crossed so many timelines. Is there any going back?
|
|
@ -1,7 +0,0 @@
|
|||
[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
|
|
@ -1,5 +0,0 @@
|
|||
[2013-06-09 15:39] Multiple line entry.
|
||||
This is the first line.
|
||||
This line doesn't have any ending punctuation
|
||||
|
||||
There is a blank line above this.
|
|
@ -1,5 +0,0 @@
|
|||
[2013-06-09 15:39] My first entry.
|
||||
Everything is alright
|
||||
|
||||
[2013-06-10 15:40] Life is good.
|
||||
But I'm better.
|
|
@ -1,13 +0,0 @@
|
|||
2010-06-10 15:00 A life without chocolate is like a bad analogy.
|
||||
|
||||
2013-06-10 15:40 He said "[this] is the best time to be alive".
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada
|
||||
quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque
|
||||
augue et venenatis facilisis.
|
||||
|
||||
[2019-08-03 12:55] Some chat log or something
|
||||
|
||||
Suspendisse potenti. Sed dignissim sed nisl eu consequat. Aenean ante ex,
|
||||
elementum ut interdum et, mattis eget lacus. In commodo nulla nec tellus
|
||||
placerat, sed ultricies metus bibendum. Duis eget venenatis erat. In at dolor
|
||||
dui.
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue