mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 08:38:32 +02:00
* [Markdown Exporter] [YAML Exporter] Ensure exported entires end in a newline Fixes #768, Fixes #881. If the exported entry does not have a final empty line, this will add one on export. Some Markdown parsers get picky about not having a empty line above a heading.... * fix black formatting issues * explicitly sort filenames to deal with inconsistent default file ordering on different OS's * Update .gitignore * Update test for typo fix Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
168 lines
7.2 KiB
Gherkin
168 lines
7.2 KiB
Gherkin
Feature: Zapped bugs should stay dead.
|
|
|
|
Scenario: Writing an entry does not print the entire journal
|
|
# https://github.com/jrnl-org/jrnl/issues/87
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl -n 1"
|
|
Then the output should not contain "Life is good"
|
|
|
|
Scenario: Date with time should be parsed correctly
|
|
# https://github.com/jrnl-org/jrnl/issues/117
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl 2013-11-30 15:42: Project Started."
|
|
Then we should see the message "Entry added"
|
|
and the journal should contain "[2013-11-30 15:42] Project Started."
|
|
|
|
Scenario: Loading entry with ambiguous time stamp
|
|
#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 03:27 Some text.
|
|
"""
|
|
|
|
Scenario: Date in the future should be parsed correctly
|
|
# https://github.com/jrnl-org/jrnl/issues/185
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl 26/06/2019: Planet? Earth. Year? 2019."
|
|
Then we should see the message "Entry added"
|
|
and the journal should contain "[2019-06-26 09:00] Planet?"
|
|
|
|
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: Title with an embedded period.
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl -1"
|
|
Then the output should be
|
|
"""
|
|
2014-04-24 09:00 Created a new website - empty.com.
|
|
| Hope to get a lot of traffic.
|
|
"""
|
|
|
|
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"
|
|
|
|
Scenario: Journals with unreadable dates should still be viewable
|
|
Given we use the config "unreadabledates.yaml"
|
|
When we run "jrnl -2"
|
|
Then the output should contain "I've lost track of time."
|
|
Then 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 -3"
|
|
Then the output should contain "Time machines are possible."
|
|
When we run "jrnl -1"
|
|
Then the output should contain "I'm going to activate the machine."
|
|
Then the output should contain "I've crossed so many timelines. Is there any going back?"
|
|
|
|
Scenario: Viewing today's entries does not print the entire journal
|
|
# https://github.com/jrnl-org/jrnl/issues/741
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl -on today"
|
|
Then the output should not contain "Life is good"
|
|
Then the output should not contain "But I'm better."
|
|
|
|
Scenario: Create entry using day of the week as entry date.
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl monday: This is an entry on a Monday."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl -1"
|
|
Then the output should contain "monday at 9am" in the local time
|
|
Then the output should contain "This is an entry on a Monday."
|
|
|
|
Scenario: Create entry using day of the week abbreviations as entry date.
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl fri: This is an entry on a Friday."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl -1"
|
|
Then the output should contain "friday at 9am" in the local time
|
|
|
|
Scenario: Displaying entries using -on today should display entries created today.
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl today: Adding an entry right now."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl -on today"
|
|
Then the output should contain "Adding an entry right now."
|
|
|
|
Scenario: Displaying entries using -from day should display correct entries
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl yesterday: This thing happened yesterday"
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl today at 11:59pm: Adding an entry right now."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl tomorrow: A future entry."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl -from today"
|
|
Then the output should contain "Adding an entry right now."
|
|
Then the output should contain "A future entry."
|
|
Then the output should not contain "This thing happened yesterday"
|
|
|
|
Scenario: Displaying entries using -from and -to day should display correct entries
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl yesterday: This thing happened yesterday"
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl today at 11:59pm: Adding an entry right now."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl tomorrow: A future entry."
|
|
Then we should see the message "Entry added"
|
|
When we run "jrnl -from yesterday -to today"
|
|
Then the output should contain "This thing happened yesterday"
|
|
Then the output should contain "Adding an entry right now."
|
|
Then the output should not contain "A future entry."
|
|
|
|
# See issues #768 and #881
|
|
# the "deletion" journal is used because it doesn't have a newline at the
|
|
# end of the last entry
|
|
Scenario: Add a blank line to Markdown export is there isn't one already
|
|
Given we use the config "deletion.yaml"
|
|
When we run "jrnl --export markdown"
|
|
Then the output should be
|
|
"""
|
|
# 2019
|
|
|
|
## October
|
|
|
|
### 2019-10-29 11:11 First entry.
|
|
|
|
|
|
### 2019-10-29 11:11 Second entry.
|
|
|
|
|
|
### 2019-10-29 11:13 Third entry.
|
|
|
|
"""
|
|
|
|
# See issues #768 and #881
|
|
Scenario: Add a blank line to YAML export is there isn't one already
|
|
Given we use the config "deletion.yaml"
|
|
And we created a directory named "bug768"
|
|
When we run "jrnl --export yaml -o bug768"
|
|
Then "bug768" should contain the files ["2019-10-29_first-entry.md", "2019-10-29_second-entry.md", "2019-10-29_third-entry.md"]
|
|
And the content of exported yaml "bug768/2019-10-29_third-entry.md" should be
|
|
"""
|
|
title: Third entry.
|
|
date: 2019-10-29 11:13
|
|
starred: False
|
|
tags:
|
|
|
|
"""
|
|
|
|
@deployment_tests
|
|
Scenario: Version numbers should stay in sync
|
|
Given we use the config "basic.yaml"
|
|
When we run "jrnl --version"
|
|
Then we should get no error
|
|
Then the output should contain pyproject.toml version
|