- given: file {filename} function: create_file - given: file (?P\S+) has modification time (?P\d+)-(?P\d+)-(?P\d+) (?P\d+):(?P\d+):(?P\d+) function: touch_file regex: true - when: I remember the metadata for {filename} function: remember_metadata - when: I run sp-docgen {md} -o {output} function: run_docgen - when: I run sp-docgen {md} -o {output} --date={date} function: run_docgen_with_date - when: I try to run sp-docgen {md} -o {output} function: try_docgen - when: I run sp-codegen --run {filename} -o {testprog} function: run_codegen_and_program - when: I run sp-codegen {filename} -o {testprog} function: run_codegen - when: I try to run sp-codegen --run {filename} -o {testprog} function: try_codegen_and_program - when: I run python3 {testprog} {pattern} function: run_python_test_program - when: I run bash {testprog} {pattern} function: run_bash_test_program - when: I run sp-meta {filename} function: run_meta - when: I touch {filename} function: update_mtime - when: I run pandoc --filter sp-filter {filename} -o {output} function: run_pandoc_with_filter - then: exit code is non-zero function: exit_code_nonzero - then: file {filename} exists function: file_exists - then: file {filename} does not exist function: file_does_not_exist - then: file (?P\S+) matches /(?P.+)/ function: file_matches regex: true - then: file (?P\S+) contains "(?P.+)" function: file_contains regex: true - then: "{filename} has the same metadata as before" function: has_same_metadata_as_remembered - then: "{filename} has changed from before" function: has_diff_metadata_than_remembered - then: output matches /(?P.+)/ function: stdout_matches regex: true - then: stderr matches /(?P.+)/ function: stderr_matches regex: true - then: scenario "(?P.+)" was run function: scenario_was_run regex: true - then: scenario "(?P.+)" was not run function: scenario_was_not_run regex: true - then: step "(?Pgiven|when|then) (?P.+)" was run function: step_was_run regex: true - then: step "(?Pgiven|when|then) (?P.+)" was run, and then step "(?Pgiven|when|then) (?P.+)" function: step_was_run_and_then regex: true - then: cleanup for "(?Pgiven|when|then) (?P.+)" was run, and then for "(?Pgiven|when|then) (?P.+)" function: cleanup_was_run regex: true - then: cleanup for "(?Pgiven|when|then) (?P.+)" was not run function: cleanup_was_not_run regex: true - then: program finished successfully function: exit_code_zero - then: only files (?P.+) exist function: only_these_files_exist regex: true