- when: I invoke jt init (?P\S+) (?P\S+) "(?P.*)" regex: true function: run_jt_init - when: I invoke jt list-journals function: run_jt_list_journals - when: I invoke jt is-journal {dirname} function: run_jt_is_journal - when: I invoke jt new "{title:text}" --editor=none --dirname={dirname} function: run_jt_new - when: I invoke jt finish --dirname={dirname} function: run_jt_finish - when: I edit draft {draftno} in {dirname} to also contain "{text}" function: edit_draft - then: directory {dirname} exists function: is_directory - then: output contains "(?P<pattern>.*)" regex: true function: output_contains - then: there are no drafts in {dirname} function: journal_has_no_drafts - then: there is one draft in {dirname} function: journal_has_one_draft - then: draft {draftno} in {dirname} contains "{pattern}" function: draft_contains_string - then: there are no journal entries in {dirname} function: journal_has_no_entries - then: there is one journal entry in {dirname}, at {variable} function: journal_has_one_entry - then: file <{variable}> contains "{pattern}" function: file_contains