From 69c0f5e0a3954da60e235afce363696177da80d0 Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Thu, 24 Sep 2020 19:50:56 -0700 Subject: [PATCH] rename files, add some basic journals for each journal type --- features/build.feature | 2 +- features/config.feature | 36 ------------ features/core.feature | 4 +- features/data/configs/basic_encrypted.yaml | 0 features/data/configs/basic_folder.yaml | 0 features/data/configs/basic_onefile.yaml | 17 ++++++ .../data/configs/{basic.yaml => simple.yaml} | 0 .../D04D335AFED711EABA18FAFFC2100C3D.doentry | 49 ++++++++++++++++ .../FC8A86CAFED711EA8892FAFFC2100C3D.doentry | 53 +++++++++++++++++ .../FD8ABC8EFED711EABC35FAFFC2100C3D.doentry | 41 +++++++++++++ .../data/journals/basic_encrypted.journal | 1 + .../data/journals/basic_folder/2020/08/29.txt | 19 ++++++ .../data/journals/basic_folder/2020/08/31.txt | 23 ++++++++ .../data/journals/basic_folder/2020/09/24.txt | 11 ++++ features/data/journals/basic_onefile.journal | 58 +++++++++++++++++++ features/datetime.feature | 10 ++-- features/delete.feature | 28 +++++---- features/encrypt.feature | 4 +- features/environment.py | 15 +++-- features/format.feature | 6 +- features/import.feature | 10 ++-- features/password.feature | 8 +-- features/search.feature | 12 ++-- features/tag.feature | 8 +-- 24 files changed, 330 insertions(+), 85 deletions(-) delete mode 100644 features/config.feature create mode 100644 features/data/configs/basic_encrypted.yaml create mode 100644 features/data/configs/basic_folder.yaml create mode 100644 features/data/configs/basic_onefile.yaml rename features/data/configs/{basic.yaml => simple.yaml} (100%) create mode 100644 features/data/journals/basic_dayone.dayone/entries/D04D335AFED711EABA18FAFFC2100C3D.doentry create mode 100644 features/data/journals/basic_dayone.dayone/entries/FC8A86CAFED711EA8892FAFFC2100C3D.doentry create mode 100644 features/data/journals/basic_dayone.dayone/entries/FD8ABC8EFED711EABC35FAFFC2100C3D.doentry create mode 100644 features/data/journals/basic_encrypted.journal create mode 100644 features/data/journals/basic_folder/2020/08/29.txt create mode 100644 features/data/journals/basic_folder/2020/08/31.txt create mode 100644 features/data/journals/basic_folder/2020/09/24.txt create mode 100644 features/data/journals/basic_onefile.journal diff --git a/features/build.feature b/features/build.feature index a7b03af4..4725ea85 100644 --- a/features/build.feature +++ b/features/build.feature @@ -2,7 +2,7 @@ Feature: Build process @deployment_tests Scenario: Version numbers should stay in sync - Given we use the config "basic.yaml" + 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 diff --git a/features/config.feature b/features/config.feature deleted file mode 100644 index c1c7fcce..00000000 --- a/features/config.feature +++ /dev/null @@ -1,36 +0,0 @@ -Feature: Reading & writing the config file - - Scenario: Sending an argument with spaces to the editor should work - Given we use the config "editor-args.yaml" - When we open the editor and enter "lorem ipsum" - Then the editor should have been called with 5 arguments - And one editor argument should be "vim" - And one editor argument should be "-f" - And one editor argument should be "-c" - And one editor argument should match "'?setf markdown'?" - - Scenario: Invalid color configuration - Given we use the config "invalid_color.yaml" - When we run "jrnl -on 2013-06-10 -s" - Then the output should be - """ - 2013-06-10 15:40 Life is good. - """ - And we should get no error - And the error output should contain - """ - body set to invalid color - """ - - @todo - Scenario: Missing values in config are given a default - - @todo - Scenario: Journal-level config values override global-level config values - - @todo - Scenario: Config with a lower version number updates to current version - - @todo - Scenario: Nested config values are written to the config file - diff --git a/features/core.feature b/features/core.feature index 941deefc..dc78a7a3 100644 --- a/features/core.feature +++ b/features/core.feature @@ -1,13 +1,13 @@ Feature: Functionality of jrnl outside of actually handling journals Scenario: Displaying the version number - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --version" Then we should get no error Then the output should match "^jrnl version v\d+\.\d+\.\d+(-(alpha|beta))?$" Scenario: Displaying the version number - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl -v" Then we should get no error Then the output should match "^jrnl version v\d+\.\d+\.\d+(-(alpha|beta))?$" diff --git a/features/data/configs/basic_encrypted.yaml b/features/data/configs/basic_encrypted.yaml new file mode 100644 index 00000000..e69de29b diff --git a/features/data/configs/basic_folder.yaml b/features/data/configs/basic_folder.yaml new file mode 100644 index 00000000..e69de29b diff --git a/features/data/configs/basic_onefile.yaml b/features/data/configs/basic_onefile.yaml new file mode 100644 index 00000000..422be860 --- /dev/null +++ b/features/data/configs/basic_onefile.yaml @@ -0,0 +1,17 @@ +colors: + date: none + title: none + body: none + tags: none +default_hour: 9 +default_minute: 0 +editor: "" +encrypt: false +highlight: true +journals: + default: features/journals/basic_onefile.journal +linewrap: 80 +tagsymbols: "@" +template: false +timeformat: "%Y-%m-%d %H:%M" +indent_character: "|" diff --git a/features/data/configs/basic.yaml b/features/data/configs/simple.yaml similarity index 100% rename from features/data/configs/basic.yaml rename to features/data/configs/simple.yaml diff --git a/features/data/journals/basic_dayone.dayone/entries/D04D335AFED711EABA18FAFFC2100C3D.doentry b/features/data/journals/basic_dayone.dayone/entries/D04D335AFED711EABA18FAFFC2100C3D.doentry new file mode 100644 index 00000000..e182716c --- /dev/null +++ b/features/data/journals/basic_dayone.dayone/entries/D04D335AFED711EABA18FAFFC2100C3D.doentry @@ -0,0 +1,49 @@ + + + + + Creation Date + 2020-08-29T18:11:00Z + Starred + + Entry Text + 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. + Time Zone + America/Los_Angeles + UUID + D04D335AFED711EABA18FAFFC2100C3D + Tags + + Creator + + Device Agent + + Generation Date + 2020-09-25T02:35:45Z + Host Name + iris.lan + OS Agent + Darwin/19.3.0 + Software Agent + jrnl/v2.4.5 + + + diff --git a/features/data/journals/basic_dayone.dayone/entries/FC8A86CAFED711EA8892FAFFC2100C3D.doentry b/features/data/journals/basic_dayone.dayone/entries/FC8A86CAFED711EA8892FAFFC2100C3D.doentry new file mode 100644 index 00000000..9c2f0a54 --- /dev/null +++ b/features/data/journals/basic_dayone.dayone/entries/FC8A86CAFED711EA8892FAFFC2100C3D.doentry @@ -0,0 +1,53 @@ + + + + + Creation Date + 2020-08-31T21:32:00Z + Starred + + Entry Text + 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. + Time Zone + America/Los_Angeles + UUID + FC8A86CAFED711EA8892FAFFC2100C3D + Tags + + Creator + + Device Agent + + Generation Date + 2020-09-25T02:36:59Z + Host Name + iris.lan + OS Agent + Darwin/19.3.0 + Software Agent + jrnl/v2.4.5 + + + diff --git a/features/data/journals/basic_dayone.dayone/entries/FD8ABC8EFED711EABC35FAFFC2100C3D.doentry b/features/data/journals/basic_dayone.dayone/entries/FD8ABC8EFED711EABC35FAFFC2100C3D.doentry new file mode 100644 index 00000000..2480c71e --- /dev/null +++ b/features/data/journals/basic_dayone.dayone/entries/FD8ABC8EFED711EABC35FAFFC2100C3D.doentry @@ -0,0 +1,41 @@ + + + + + Creation Date + 2020-09-24T16:14:00Z + Starred + + Entry Text + 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 + Time Zone + America/Los_Angeles + UUID + FD8ABC8EFED711EABC35FAFFC2100C3D + Tags + + Creator + + Device Agent + + Generation Date + 2020-09-25T02:37:01Z + Host Name + iris.lan + OS Agent + Darwin/19.3.0 + Software Agent + jrnl/v2.4.5 + + + diff --git a/features/data/journals/basic_encrypted.journal b/features/data/journals/basic_encrypted.journal new file mode 100644 index 00000000..c1bc70f4 --- /dev/null +++ b/features/data/journals/basic_encrypted.journal @@ -0,0 +1 @@ +gAAAAABfbVS35o3E9LTX67HBLWu-gJiJI4t63YSime7LqohFOVS91k6uOBLqbZRtEZfBQ7mF9tmY_LB2BzX_x9ys05t1ePoKVr8X5MjWWkiz_4vlw6f58g5rlE0YMCCgGv_CW4awJdmrtnTqcXD8NJ5FwhPCT20KRrBGRRvFkmSROO_ziaLC8B2UTeZECkh8Pb_k6r2PvC7uf0DRXRyBXM9S6gLBnGklIo-1HjkGe45ih_VuRwP6IQV3zCQere5NIIx-O_oEFBYsBakOYm5lQjs8F1zQz8GlL7YtcCq2EbeiNoKKM-fleYmsa2FXML-U_5r3chFMYD5oOyb8VVVydCqDMhK8MrNltDj1exCD6Dl3Y9FnntsiVT6TEFCVZtGQT5XvbC4kBDQF6bgbxoAip0tmIliaKyXBSj1K6viC88nemyuMnoYZ0sOudc6iAg0jfWeh3fAu2Zg1-ridddbUdNK11-O6yTapWjjh2T6eFuAUcnQsfWEnTV2l1m2TwVoa801-IS87z69y7akiJfDztZMPFdziC0HYkRq9-5RUHtTIxgqyQR8u1biOdjHHZibsMnHFbTnAdAtXPmo9s55R0VQMf8hkVUmoecH8J9FbjfJTgmOyUlOPs0pjPBk4oMU9QGqV6rflFRi1CEEZNd-YHeHIEr8hh5GfznxTg9CuRxtw1mqa9438d4yNYb37ln_VgKs6G8QA8lMXxvCw_tUtbi7LhdmI3Sn7LfyfsWX1hJUlL-WNYzb882KD_QvjO9mSEkPjOKipPE7Pu2XvyNR8EBTrRGXUpEXOrxvTXmWKlJvo-f8hF80W5uuS5MXkqip-zS30_QRbE5yARG2BluAwax9bSFDnaaSR2P8J9rYE6c3wewLim93SOkTMPa95PSBBtLxBGqVWdUvuac3oqPO4-oPZS8zO5HTwRUrgR1fvf1-yylhHfYFbskQUz9GRKsKMOGh2Bne7f4aKDf9Qz8WtnYuAYhbhlwb88IbTtSlWPrv-yMCg7aIXhZRN1u_4FBWCjtY2QePVc0DjVnzQ-oL6sSIzvLIVoVaLQOMthkIQ6kBVvBiGaP8-BAkLCsVU8knhx-87xH4NYXp5hYEHSGPV5pIVC5__bY1WcbzO5yzfeo4CTeW5bKhjf5Hbr4dL7tvipYYgLgvnOG-iFpA3EKFNR0URw6bOvqJtbu-4EFqU--gY0oEDwv7T_gkhyXjd755Uq1L21UdSbbD3T6ldTv7UH8gnWYwA2uzPdibbRhvGmITFDLMNr0x5535lJuMeS1GQJUGe_4w_Z0eqj_S4DoynkeayCzZZeQFxKEKSqQGO2A2YxJaNN5o8o4QnTvHw6vCQWs2aH0Lkt2j_DBeetzKQD6C7kVQT_nVMK74Jm-Kg_CVblWQ_rbw5rrE9fUmRilfK6OJX2lBs9EAv1eVn_PxkXSPVqB0QjEYrFgpjnQ5uFt2zH3WHoUJ-TFr0FgjGKm3qwbl9e8uh1Rl1pud-LxYUaOIuzz_e1uwbVOcyzKgHxcVrTdAoI8TNgUqb3crUGPVAgusT-GKEpRNA8GQdIjcGXU6XkcDaBBzzflAlCIEf79iGANLYw2rwUN6XbQuAkcZH-Gf4p-oUa1WaclQP6YSIUVIz9dUoc6veCHM9DJyGwz6g5IhhsI_32AFv-E5sSVmb-BhCVHna5HwJoQOWAvcE2AL2v4rxx0Ipo1uY0hiDY2_oB9hiVOG0VW1jFCx8BEKqs35VBssl308I40TdHl1e8jDOnb308-C8SMqkryojhniOnVcOdY4i78pQKONZUXXeO2cKDWVmerzLNeBb_pSFWtjpPDGP0w_8fPQvH0ewzb7UNVRDEIOH6H2uZSXbeSwh6t7h_jULA0Q9iRvhtgdWCS_EnPr_N9D01XZ2Y8JjLDC5GMfZxk4nvetekHu3bcMMgeLt3DmQ4qfIKq9vsjg22hvdDvqYz6CgXmk7NrtKnrkPCYZ-GRnUl-Yu4psGupb14AggmnrB7raEH_3LtfQPFXOhcRaDdtayZZFdYIC7-BYn6p7v-NBA57fJZMY4e8vJG26WE1CS_iFFLfdW2l5OwDq1uOg9ugQuTiXXeCDHo1yjGMiyY-H9aaZKQecutdK8z4WVHI9ZZHexVhlXAOYNAA96yuCzizA0NtcugB7ohntgUIDW7Xm-b2lP84uAVT9hNPs7Gu5Lj_R-KScaBPIGEwtTxZRTber8acJNyIFqzHGG0E-rwOjCou-TsStMx0i9bJAmPu-LKPGfeWDTuxuDxgG4dWsxJSCUq4CKsF3V2CMf1qcrgRahIb17z2vOv5dXhH3SX_LhUDpalHVg5ZzLrH9KyQJeGeou6KLvXdPql1aCWIUlaNt3I5wg-UpB-VoA4UuvD0R5jui5trzUNiASlM6tJP2NhrHi1alzdxghn7AepRegCuIQfLbfD9D1zLUrbmsT2xDfZAwwTg0PVRtjS0PSHjZwvqJsKMX8v9HRUn5nfSEn_NKXzG-Yr89X_f7lsuWOajtv3FfCGt1E2ezVUejavpDcH0BM7j5OWnmSXfhAbgMJYRV6-7NUi2PlfUlpTjILO3znKvOQRjl498seHuW149KuoLjU_Ma3aFBRmx5n3mC40B2rvLPpq0dF3W9wRsFbcmECzUWoKQQxkkiyrGr-HDktWkDaISXpJ41smGB0N8zSlFThrZAXD12IGWB9PANTDW-UsnzdWjL6Kje8WHksTCFv84CLmuNuvU_ZdZG13oY5f_PgJqnXuyRYW4wCBsu9fqhIFIuC0aR6PjqxIJU8txoApfFtd_Q97sKaVPjFLtrTVfmI8NkH9Ha1ZwVdJ28JHDqXrsdzmSYmy7zzmekB2ix7-yLxgkutHFzmjjVNBeUxcgReZxrqG2Ur39cU1M2LjKmR7GURtAbYH5wSboq7_a8IRo6OH2pvGp5YqI4MvoSY0Yzv1XB6ojsFTDU1WPoenrb-ZMrPkBHYUVA6mr8v__SVLmlJD8b3KFbZJ1krVim9yJf6HsJcFvi7a-Jv4FPyc3NZU5MKQpnn0yzpXU3cBFYZcUiZtf9pzQ7VFr2UIg5OrJx0gpi8nzxLImT_wkj4QiBQ7CwD9i7BmzqLZeqQq0WA-khmDn_ezcpLMGtT2tWrV0U1125HiEfrkbhhbCAu9Fps3yw74xWkH3XnPZRmu_t_htB0iF2LbkrC1AfkhG8l0IfM9gBrE94Hl3cvTYaBr9tVc4TOIzrg7GPl9bJ-rUmohAb4T9bz73_9lhEvi4NxksQtNC061hK1xIbwbQaR6UvoUBz2-5kKYMvYYSPSbEwVbl6ngcUfhmbcZuq2gTQ84PsBJfXA6bfvMCiDFs_059_eoAQ-8AnVkjHj2wId-2SGXETF8ZDin3E4lNfsCB5TqzGJtSI9RPDuZtiUf5GxvBqzl5hVVbZ6rAEO78Ye8I3w-k2kUEqh0Ww3_EwuPbAxPP9-qoE3QIBqgvHj3BBw7Gm2-yiOnVPFQSwBpVcRIy-1J8vlabKJ7oUqgCjjOHbRpuoSsN34HrvCsonHBbqj0cP27jfUC-nIbcbzFR-UOpuOc78bRuznYhRVBcVmgQRlW6AxtrVU76QFI4jUGr6OYEfryIrj99XogH73mnp57d2gpgJSXdBN_TlXEAKIiJWmc_MW68X62AEtcaT2gFlcCDeLNMFn9mZcKXfP4wRzN2GHYemV-CLl4P64bc-93xMzH8hEJkwIyt4IgNgXU6XQE-z09CN1mSiGScmJ0ILQjG_nTivChe23i5KLKecsCjAaMoi770qiSlGCpAsoEokWQpIHnPd-r2YxxFLaH5K1Teu5CXTIA4yWrynsyIn1Au-1ueABwZxXR3s3g7QsFbjum1jJxGToUIRk5HaKbanfx-7aztqIQ9rRWPLJWM33p3hnooEGV41_VsYbsQ2GNO5my8qV_YnLQ6_WmhTyCbpTxHnXi0pf7oItGTnFBOJ1KL7gU7KarfcgyF6MjzJxC7tr9fLxhZjNgEP6QNqVCV6ocNRLs6DFNkhwoOzFh1dKOYV6vlSCXG_vfukawijfPYhtTKNJ3eM8kvDD0MhxJIUo29KkdsOV9HecmxaAo0TXQ_zjOwbw1OEG7IKiJGAvoWVp7sG6PxktC3aW_FKLcrYvmldHLYgQCSUuCiJtt0sA9NO-IhVpn-XS24lMSN0Q4VktAdpnvUVLDgI54iffivIUHvvvJHL6N69Da8A85D3L_IduGyr88YicA6nqSWEPL9GF3xWO-mWxaVaWTvNGRJSb_ZWFOf7XLMGaTEHeS5BAGxYimaUmlnhsfsO2TwBhf2zuEJFsxDrsu31q6C2joV9nga2XGCNzuMtEatJ9xJ4beL5DTsQ52OG3DGFs5BFF-eWnkmFLHClGvQgnC7kUVxApdoBMlvusespEuQ4VSadeXbG9YbMXzSaARg1UG_1wY7R3NaXeHbYlMcC1rQ1gLih8PaWH80WX0MAeTyUPrzexk_BtQSvyVH_dfyst8L-nisRQ78YoXJIjNmt93udk0r2oyoprhg_xHMpOt2_C2FYuJmoR9pnfOvcDdyGU1_qV7liA0mAQ60BXz94Gae5AvWOglcfooRwMLxjikyzqWwiEcVS9fPK_6lOSqM5EoBq-2QWMtcrNFD7x4knZVoLr7JXERo6kogDKK5xlFhgrUfsr3VRvSOBC-27v-U8yuM4N4nMt9ZEPAeT6T-okCIc2fEF6s-l8itNJMnYD3I2jd8w6FLT5i63H369v6YSg8aawhY_aFEhJKmCZ diff --git a/features/data/journals/basic_folder/2020/08/29.txt b/features/data/journals/basic_folder/2020/08/29.txt new file mode 100644 index 00000000..c8af54ca --- /dev/null +++ b/features/data/journals/basic_folder/2020/08/29.txt @@ -0,0 +1,19 @@ +[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. diff --git a/features/data/journals/basic_folder/2020/08/31.txt b/features/data/journals/basic_folder/2020/08/31.txt new file mode 100644 index 00000000..46cc28b6 --- /dev/null +++ b/features/data/journals/basic_folder/2020/08/31.txt @@ -0,0 +1,23 @@ +[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. diff --git a/features/data/journals/basic_folder/2020/09/24.txt b/features/data/journals/basic_folder/2020/09/24.txt new file mode 100644 index 00000000..2bd885ce --- /dev/null +++ b/features/data/journals/basic_folder/2020/09/24.txt @@ -0,0 +1,11 @@ +[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 diff --git a/features/data/journals/basic_onefile.journal b/features/data/journals/basic_onefile.journal new file mode 100644 index 00000000..916f7d88 --- /dev/null +++ b/features/data/journals/basic_onefile.journal @@ -0,0 +1,58 @@ +[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 diff --git a/features/datetime.feature b/features/datetime.feature index f28eac8c..80c26098 100644 --- a/features/datetime.feature +++ b/features/datetime.feature @@ -2,14 +2,14 @@ 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 "basic.yaml" + Given we use the config "simple.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: Dates can be in the future # https://github.com/jrnl-org/jrnl/issues/185 - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl 26/06/2099: Planet? Earth. Year? 2099." Then we should see the message "Entry added" And the journal should contain "[2099-06-26 09:00] Planet?" @@ -70,13 +70,13 @@ Feature: Reading and writing to journal with custom date formats 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" + 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. - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl : This is an entry on a ." Then we should see the message "Entry added" When we run "jrnl -1" @@ -96,7 +96,7 @@ Feature: Reading and writing to journal with custom date formats | sUndAy | Scenario Outline: Create entry using day of the week abbreviations as entry date. - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl : This is an entry on a ." Then we should see the message "Entry added" When we run "jrnl -1" diff --git a/features/delete.feature b/features/delete.feature index 32bcfb36..d39fb131 100644 --- a/features/delete.feature +++ b/features/delete.feature @@ -1,6 +1,6 @@ Feature: Delete entries from journal - Scenario: --delete flag allows deletion of single entry - Given we use the config "deletion.yaml" + Scenario Outline: Delete flag allows deletion of single entry + Given we use the config ".yaml" Then the journal should have 3 entries When we run "jrnl -n 1" Then the output should contain "2019-10-29 11:13 Third entry." @@ -14,6 +14,12 @@ Feature: Delete entries from journal When we run "jrnl -n 1" Then the output should contain "2019-10-29 11:11 Second entry." + Examples: Configs + | config | + | deletion | + | empty_folder | + | dayone_empty | + Scenario: Backing out of interactive delete does not change journal Given we use the config "deletion.yaml" Then the journal should have 3 entries @@ -26,7 +32,7 @@ Feature: Delete entries from journal And the journal should contain "[2019-10-29 11:11] Second entry." And the journal should contain "[2019-10-29 11:13] Third entry." - Scenario: --delete flag with nonsense input deletes nothing (issue #932) + Scenario: Delete flag with nonsense input deletes nothing (issue #932) Given we use the config "deletion.yaml" Then the journal should have 3 entries When we run "jrnl --delete asdfasdf" @@ -34,7 +40,7 @@ Feature: Delete entries from journal When we run "jrnl -n 1" Then the output should contain "2019-10-29 11:13 Third entry." - Scenario: --delete flag with tag only deletes tagged entries + Scenario: Delete flag with tag only deletes tagged entries Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete @holidays" and enter @@ -47,7 +53,7 @@ Feature: Delete entries from journal And the journal should contain "[2020-03-01 08:00] It's just another day in March." And the journal should contain "[2020-05-02 12:10] Writing tests." - Scenario: --delete flag with multiple tags deletes all entries matching any of the tags + Scenario: Delete flag with multiple tags deletes all entries matching any of the tags Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete @holidays @springtime" and enter @@ -63,7 +69,7 @@ Feature: Delete entries from journal But the journal should not contain "[2020-05-01 09:00] Happy May Day!" But the journal should not contain "[2020-05-02 12:10] Writing tests. *" - Scenario: --delete flag with -and and tags only deletes boolean AND of tagged entries + Scenario: Delete flag with -and deletes boolean AND of tagged entries Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete -and @holidays @springtime" and enter @@ -77,7 +83,7 @@ Feature: Delete entries from journal And the journal should contain "[2020-05-02 12:10] Writing tests. *" But the journal should not contain "[2020-05-01 09:00] Happy May Day!" - Scenario: --delete flag with -not does not delete entries with -not tag + Scenario: Delete flag with -not does not delete entries from given tag Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete @holidays -not @springtime" and enter @@ -91,7 +97,7 @@ Feature: Delete entries from journal And the journal should contain "[2020-05-02 12:10] Writing tests. *" But the journal should not contain "[2020-01-01 08:00] Happy New Year!" - Scenario: --delete flag with -from only deletes entries since a specified date + Scenario: Delete flag with -from search operator only deletes entries since that date Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete -from 2020-01-02" and enter @@ -107,7 +113,7 @@ Feature: Delete entries from journal And the journal should not contain "[2020-05-01 09:00] Happy May Day!" And the journal should not contain "[2020-05-02 12:10] Writing tests." - Scenario: --delete flag with -to only deletes entries up to specified date + Scenario: Delete flag with -to only deletes entries up to specified date Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete -to 2020-01-02" and enter @@ -122,7 +128,7 @@ Feature: Delete entries from journal But the journal should not contain "[2019-10-01 08:00] It's just another day in October." But the journal should not contain "[2020-01-01 08:00] Happy New Year!" - Scenario: --delete flag with -starred only deletes starred entries + Scenario: Delete flag with -starred only deletes starred entries Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete -starred" and enter @@ -136,7 +142,7 @@ Feature: Delete entries from journal And the journal should contain "[2020-05-01 09:00] Happy May Day!" But the journal should not contain "[2020-05-02 12:10] Writing tests. *" - Scenario: --delete flag with -contains only entries containing expression + Scenario: Delete flag with -contains only entries containing expression Given we use the config "deletion_filters.yaml" Then the journal should have 5 entries When we run "jrnl --delete -contains happy" and enter diff --git a/features/encrypt.feature b/features/encrypt.feature index fc25661a..f736ae4c 100644 --- a/features/encrypt.feature +++ b/features/encrypt.feature @@ -10,7 +10,7 @@ Feature: Encrypting and decrypting journals @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 "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --decrypt" Then the config for journal "default" should have "encrypt" set to "bool:False" And the journal should have 2 entries @@ -20,7 +20,7 @@ Feature: Encrypting and decrypting journals # This should warn the user that the journal is already encrypted Scenario: Encrypting a journal - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --encrypt" and enter """ swordfish diff --git a/features/environment.py b/features/environment.py index 8e21c4c9..ae3fb546 100644 --- a/features/environment.py +++ b/features/environment.py @@ -8,19 +8,23 @@ CWD = os.getcwd() # @see https://behave.readthedocs.io/en/latest/tutorial.html#debug-on-error-in-case-of-step-failures BEHAVE_DEBUG_ON_ERROR = False + def setup_debug_on_error(userdata): global BEHAVE_DEBUG_ON_ERROR BEHAVE_DEBUG_ON_ERROR = userdata.getbool("BEHAVE_DEBUG_ON_ERROR") + def before_all(context): setup_debug_on_error(context.config.userdata) + # def after_step(context, step): - # if BEHAVE_DEBUG_ON_ERROR and step.status == "failed": - # -- ENTER DEBUGGER: Zoom in on failure location. - # NOTE: Use IPython debugger, same for pdb (basic python debugger). - # import ipdb - # ipdb.post_mortem(step.exc_traceback) +# if BEHAVE_DEBUG_ON_ERROR and step.status == "failed": +# -- ENTER DEBUGGER: Zoom in on failure location. +# NOTE: Use IPython debugger, same for pdb (basic python debugger). +# import ipdb +# ipdb.post_mortem(step.exc_traceback) + def clean_all_working_dirs(): if os.path.exists("test.txt"): @@ -78,4 +82,3 @@ def after_scenario(context, scenario): # only clean up if debugging is off and the scenario passed if not BEHAVE_DEBUG_ON_ERROR and scenario.status != "failed": clean_all_working_dirs() - diff --git a/features/format.feature b/features/format.feature index c0757d2d..d5189aad 100644 --- a/features/format.feature +++ b/features/format.feature @@ -22,7 +22,7 @@ Feature: Custom formats And "tags" in the json output should not contain "@dan" Scenario: Exporting using custom templates - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" And we load template "sample.template" When we run "jrnl --export sample" Then the output should be @@ -220,12 +220,12 @@ Feature: Custom formats Then we should get no error Scenario: --short displays the short version of entries (only the title) - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl -on 2013-06-10 --short" Then the output should be "2013-06-10 15:40 Life is good." Scenario: -s displays the short version of entries (only the title) - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl -on 2013-06-10 -s" Then the output should be "2013-06-10 15:40 Life is good." diff --git a/features/import.feature b/features/import.feature index f05ca98a..e874304b 100644 --- a/features/import.feature +++ b/features/import.feature @@ -1,14 +1,14 @@ Feature: Importing data Scenario: --import allows new entry from stdin - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --import" and pipe "[2020-07-05 15:00] Observe and import." And we run "jrnl -1" Then the journal should contain "[2020-07-05 15:00] Observe and import." And the output should contain "Observe and import" Scenario: --import allows new large entry from stdin - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --import" and pipe """ [2020-07-05 15:00] Observe and import. @@ -26,7 +26,7 @@ Feature: Importing data And the output should contain "end of entry." Scenario: --import allows multiple new entries from stdin - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --import" and pipe """ [2020-07-05 15:00] Observe and import. @@ -39,7 +39,7 @@ Feature: Importing data Then the journal should contain "[2020-07-05 15:01] Twice as nice." Scenario: --import allows import new entries from file - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" Then the journal should contain "My first entry." And the journal should contain "Life is good." But the journal should not contain "I have an @idea" @@ -50,7 +50,7 @@ Feature: Importing data And the journal should contain "PROFIT!" Scenario: --import prioritizes --file over pipe data if both are given - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" Then the journal should contain "My first entry." And the journal should contain "Life is good." But the journal should not contain "I have an @idea" diff --git a/features/password.feature b/features/password.feature index e182c499..ead0f6fe 100644 --- a/features/password.feature +++ b/features/password.feature @@ -15,7 +15,7 @@ Feature: Using the installed keyring But the output should not contain "Password" Scenario: Encrypt journal with no keyring backend and do not store in keyring - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" And we do not have a keyring When we run "jrnl test entry" And we run "jrnl --encrypt" and enter @@ -27,7 +27,7 @@ Feature: Using the installed keyring Then we should get no error Scenario: Encrypt journal with no keyring backend and do store in keyring - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" And we do not have a keyring When we run "jrnl test entry" And we run "jrnl --encrypt" and enter @@ -53,7 +53,7 @@ Feature: Using the installed keyring And the output should contain "2013-06-10 15:40 Life is good" Scenario: Mistyping your password - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --encrypt" and enter """ swordfish @@ -65,7 +65,7 @@ Feature: Using the installed keyring And the journal should have 2 entries Scenario: Mistyping your password, then getting it right - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl --encrypt" and enter """ swordfish diff --git a/features/search.feature b/features/search.feature index 85ef3278..d0e1946b 100644 --- a/features/search.feature +++ b/features/search.feature @@ -1,7 +1,7 @@ Feature: Searching in a journal Scenario: Displaying entries using -on today should display entries created today. - Given we use the config "basic.yaml" + Given we use the config "simple.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" @@ -10,7 +10,7 @@ Feature: Searching in a journal And the output should not contain "Life is good" Scenario: Displaying entries using -from day should display correct entries - Given we use the config "basic.yaml" + Given we use the config "simple.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." @@ -23,7 +23,7 @@ Feature: Searching in a journal And 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" + Given we use the config "simple.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." @@ -36,7 +36,7 @@ Feature: Searching in a journal And the output should not contain "A future entry." Scenario: Searching for a string - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl -contains life" Then we should get no error And the output should be @@ -64,7 +64,7 @@ Feature: Searching in a journal And the output should contain "software" Scenario: Searching for dates - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl -on 2013-06-10 --short" Then the output should be "2013-06-10 15:40 Life is good." When we run "jrnl -on 'june 6 2013' --short" @@ -93,7 +93,7 @@ Feature: Searching in a journal Then the output should contain "2013-05-17 11:39 This entry has tags!" Scenario: Loading a sample journal - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl -2" Then we should get no error And the output should be diff --git a/features/tag.feature b/features/tag.feature index 8cff30be..28bd639d 100644 --- a/features/tag.feature +++ b/features/tag.feature @@ -43,7 +43,7 @@ Feature: Tagging """ Scenario: Entry cans start and end with tags - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl today: @foo came over, we went to a @bar" When we run "jrnl --tags" Then the output should be @@ -53,7 +53,7 @@ Feature: Tagging """ Scenario: Excluding a tag should filter it - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl today: @foo came over, we went to a bar" When we run "jrnl I have decided I did not enjoy that @bar" When we run "jrnl --tags -not @bar" @@ -63,7 +63,7 @@ Feature: Tagging """ Scenario: Excluding a tag should filter an entry, even if an unfiltered tag is in that entry - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl today: I do @not think this will show up @thought" When we run "jrnl today: I think this will show up @thought" When we run "jrnl --tags -not @not" @@ -73,7 +73,7 @@ Feature: Tagging """ Scenario: Excluding multiple tags should filter them - Given we use the config "basic.yaml" + Given we use the config "simple.yaml" When we run "jrnl today: I do @not think this will show up @thought" And we run "jrnl today: I think this will show up @thought" And we run "jrnl today: This should @never show up @thought"