Parse and evaluate Cucumber tag expressions.
Supports: @smoke — single tag @smoke and @fast — AND @smoke or @wip — OR not @slow — NOT (@smoke or @wip) and not @skip — grouping @feature:limit — tag limits (parsed but limit enforcement is in runner)
Summary
Functions
Evaluate a tag expression string against a list of tags.
Functions
Evaluate a tag expression string against a list of tags.
Examples
iex> Cucumberex.Filter.TagExpression.evaluate("@smoke", ["@smoke"])
true
iex> Cucumberex.Filter.TagExpression.evaluate("@smoke and @fast", ["@smoke"])
false
iex> Cucumberex.Filter.TagExpression.evaluate("@smoke or @wip", ["@wip"])
true
iex> Cucumberex.Filter.TagExpression.evaluate("not @slow", ["@fast"])
true
iex> Cucumberex.Filter.TagExpression.evaluate(nil, ["@any"])
true