jrnl/tests/lib
Carl Smedstad 4d99448cdd
Fix compatibility of step-functions matching on multiple lines
In pytest-bdd v8.0.0 it is no longer possible to match based on multiple
lines, which breaks essentially all steps that support docstrings. Solve
this by adding a wrapper-function for each of these instances, that
matches the docstring step, and calls the original function.

So, what used to be:

    @then(parse("the output should match\n{regex}"))
    @then(parse('the output should match "{regex}"'))
    def output_should_match(regex, cli_run):
        ...

Is now:

    @then(parse("the output should match"))
    def output_should_match_docstring(cli_run, docstring):
        output_should_match(docstring, cli_run)

    @then(parse('the output should match "{regex}"'))
    def output_should_match(regex, cli_run):
        ...

There is possibly a way around this that is much better than what I've
done here, but this is a start at least.
2024-11-16 21:19:04 +01:00
..
fixtures.py Refactor --template code (#1711) 2023-05-20 16:13:24 -07:00
given_steps.py Fix compatibility of step-functions matching on multiple lines 2024-11-16 21:19:04 +01:00
helpers.py Use pytest-bdd 6 (#1685) 2023-03-04 12:37:06 -08:00
then_steps.py Fix compatibility of step-functions matching on multiple lines 2024-11-16 21:19:04 +01:00
type_builders.py Use pytest-bdd 6 (#1685) 2023-03-04 12:37:06 -08:00
when_steps.py Fix compatibility of step-functions matching on multiple lines 2024-11-16 21:19:04 +01:00