Feature: Functionality of Importer and Exporter Plugins @skip_no_external_plugins Scenario Outline: List buildin plugin names in --version Given We use the config "basic_onefile.yaml" When We run "jrnl --version" Then the output should contain pyproject.toml version And The output should contain " : from jrnl..." And the output should not contain ".contrib." Examples: | plugin_name | version | source | type | filename | | jrnl | | plugins | importer | jrnl | | boxed | | plugins | exporter | fancy | | dates | | plugins | exporter | dates | | default | | plugins | exporter | pretty | | fancy | | plugins | exporter | fancy | | json | | plugins | exporter | json | | markdown | | plugins | exporter | markdown | | md | | plugins | exporter | markdown | | pretty | | plugins | exporter | pretty | | short | | plugins | exporter | short | | tags | | plugins | exporter | tag | | text | | plugins | exporter | text | | txt | | plugins | exporter | text | | xml | | plugins | exporter | xml | | yaml | | plugins | exporter | yaml | @skip_only_with_external_plugins Scenario Outline: List external plugin names in --version Given We use the config "basic_onefile.yaml" When We run "jrnl --version" Then the output should contain pyproject.toml version And The output should contain " : from jrnl..." Examples: | plugin_name | version | source | type | filename | | jrnl | | plugins | importer | jrnl | | json | v1.0.0 | contrib | importer | simple_json | | boxed | | plugins | exporter | fancy | | dates | | plugins | exporter | dates | | default | | plugins | exporter | pretty | | fancy | | plugins | exporter | fancy | | json | v1.0.0 | contrib | exporter | custom_json | | markdown | | plugins | exporter | markdown | | md | | plugins | exporter | markdown | | pretty | | plugins | exporter | pretty | | rot13 | v1.0.0 | contrib | exporter | rot13 | | short | | plugins | exporter | short | | tags | | plugins | exporter | tag | | testing | v0.0.1 | contrib | exporter | flag | | text | | plugins | exporter | text | | txt | v1.0.0 | contrib | exporter | rot13 | | xml | | plugins | exporter | xml | | yaml | | plugins | exporter | yaml | @skip_only_with_external_plugins Scenario Outline: Do not list overridden plugin names in --version Given We use the config "basic_onefile.yaml" When We run "jrnl --version" Then the output should contain pyproject.toml version And the output should not contain " : from jrnl..." Examples: | plugin_name | version | source | type | filename | | json | | plugins | exporter | json | | txt | | plugins | exporter | text | @skip_only_with_external_plugins Scenario Outline: JSON format Given we use the config ".yaml" 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 parsable as json And "entries" in the json output should have 3 elements And entry 1 should not have an array "tags" And entry 2 should not have an array "tags" And entry 3 should not have an array "tags" Examples: configs | config | | basic_onefile | | basic_encrypted | | basic_folder | | basic_dayone |