Skip to content

Commit

Permalink
Overriding validator works
Browse files Browse the repository at this point in the history
  • Loading branch information
tailhook committed Sep 8, 2017
1 parent ea09fc3 commit d0c42ff
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/grammar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ use parse_error::ParseError;
use preparser::{Preparser, Syntax};
use render::{self, template};
use tokenizer::{Tokenizer, TokenStream, Token, Kind};
use validators::Validator;
use {Options, Pos};


Expand Down Expand Up @@ -330,13 +329,15 @@ fn expression<'a>(input: TokenStream<'a>)
use helpers::*;

kind(ExprStart).skip(ws())
.and(parser(top_level_expression))
.and(parser(top_level_expression)).skip(ws())
.and(optional(operator("|").skip(ws()).with(kind(Ident))))
.skip(ws()).and(kind(ExprEnd))
.map(|((start, expr), end)| {
.map(|(((start, expr), validator), end)| {
let left_ws = OutputMode::start(&start);
let right_ws = OutputMode::end(&end);
// TODO(tailhook) parse validator
StatementCode::Output { left_ws, expr, validator: None, right_ws }
StatementCode::Output { left_ws, expr,
validator: validator.map(|x| x.value.to_string()), right_ws }
})
.parse_stream(input)
}
Expand Down
8 changes: 8 additions & 0 deletions src/tests/validate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,11 @@ fn valid_default_non_matching() {
## validate default: [a-z]+\n\
{{ x }}", "a+b");
}

#[test]
fn valid_non_default_override() {
render_x("## syntax: oneline\n\
## validate default: [a-z]+\n\
## validate sum: [a-z+]+\n\
{{ x | sum }}", "a+b");
}

0 comments on commit d0c42ff

Please sign in to comment.