macro_rules! fails_with { ( parser: $parser:ident, input: $string:expr, rule: $rules:tt :: $rule:tt, positives: $positives:expr, negatives: $negatives:expr, pos: $pos:expr ) => { ... }; }
Expand description
Testing tool that compares produced errors.
This macro takes several arguments:
parser
- name of the data structure implementingParser
input
- input to be tested againstrule
-Rule
which will be runpositives
- positiveRule
attempts that failednegatives
- negativeRule
attempts that failedpos
- byte position of failure
ยงExamples
fails_with! {
parser: AbcParser,
input: "abcdf",
rule: Rule::a,
positives: vec![Rule::c],
negatives: vec![],
pos: 4
};