Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create journal with absolute path when no path is specified #972

Merged
merged 11 commits into from Jun 13, 2020
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 11 additions & 0 deletions features/core.feature
Expand Up @@ -113,3 +113,14 @@ Feature: Basic reading and writing to a journal
2013-06-10 15:40 Life is good.
"""
And we should get no error

Scenario: Installation with relative journal and referencing from another folder
Given we use the config "missingconfig"
When we run "jrnl hello world" and enter
"""
test.txt
n
"""
and we change directory to "features"
and we run "jrnl -n 1"
Then the output should contain "hello world"
5 changes: 4 additions & 1 deletion features/environment.py
Expand Up @@ -2,6 +2,8 @@
import shutil
import sys

CWD = os.getcwd()


def clean_all_working_dirs():
for folder in ("configs", "journals", "cache"):
Expand All @@ -26,7 +28,6 @@ def before_scenario(context, scenario):
"""Before each scenario, backup all config and journal test data."""
# Clean up in case something went wrong
clean_all_working_dirs()

for folder in ("configs", "journals"):
original = os.path.join("features", "data", folder)
working_dir = os.path.join("features", folder)
Expand All @@ -52,4 +53,6 @@ def before_scenario(context, scenario):

def after_scenario(context, scenario):
"""After each scenario, restore all test data and remove working_dirs."""
if os.getcwd() != CWD:
os.chdir(CWD)
clean_all_working_dirs()
11 changes: 11 additions & 0 deletions features/steps/core.py
Expand Up @@ -80,6 +80,17 @@ def set_config(context, config_file):
cf.write("version: {}".format(__version__))


@given("there is no config")
eshrh marked this conversation as resolved.
Show resolved Hide resolved
def no_config(context):
nopath = "features/configs/missingconfig.yaml"
install.CONFIG_FILE_PATH = os.path.abspath(nopath)


@when('we change directory to "{path}"')
def move_up_dir(context, path):
os.chdir(path)


@when('we open the editor and enter "{text}"')
@when("we open the editor and enter nothing")
def open_editor_and_enter(context, text=""):
Expand Down
2 changes: 1 addition & 1 deletion jrnl/install.py
Expand Up @@ -135,7 +135,7 @@ def install():

# Where to create the journal?
path_query = f"Path to your journal file (leave blank for {JOURNAL_FILE_PATH}): "
journal_path = input(path_query).strip() or JOURNAL_FILE_PATH
journal_path = os.path.abspath(input(path_query).strip() or JOURNAL_FILE_PATH)
default_config["journals"][DEFAULT_JOURNAL_KEY] = os.path.expanduser(
os.path.expandvars(journal_path)
)
Expand Down