mirror of
https://github.com/askama-rs/askama.git
synced 2025-10-01 15:00:57 +00:00
Add failing test for excessively long syntax delimiters
This commit is contained in:
parent
c1be649d90
commit
f8bb54bd96
@ -1,5 +1,5 @@
|
||||
use crate::node::{Lit, Whitespace, Ws};
|
||||
use crate::{Ast, Expr, Filter, InnerSyntax, Node, Num, StrLit, Syntax, WithSpan};
|
||||
use crate::{Ast, Expr, Filter, InnerSyntax, Node, Num, StrLit, Syntax, SyntaxBuilder, WithSpan};
|
||||
|
||||
impl<T> WithSpan<'static, T> {
|
||||
fn no_span(inner: T) -> Self {
|
||||
@ -1064,3 +1064,36 @@ fn fuzzed_filter_recursion() {
|
||||
const TEMPLATE: &str = include_str!("../tests/filter-recursion.txt");
|
||||
assert!(Ast::from_str(TEMPLATE, None, &Syntax::default()).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fuzzed_excessive_syntax_lengths() {
|
||||
let syntax = SyntaxBuilder {
|
||||
name: "test",
|
||||
block_start: Some("\0*DD\0\0"),
|
||||
block_end: Some(
|
||||
"\0]***NEWFILE\u{1f}***:7/v/.-3/\u{1b}/~~~~z~0/*:7/v/./t/t/.p//NEWVILE**::7/v",
|
||||
),
|
||||
expr_start: Some("/."),
|
||||
expr_end: None,
|
||||
comment_start: Some(include_str!(
|
||||
"../tests/excessive_syntax_lengths-comment-start.bin"
|
||||
)),
|
||||
comment_end: None,
|
||||
}
|
||||
.to_syntax()
|
||||
.unwrap();
|
||||
|
||||
let (sender, receiver) = std::sync::mpsc::channel();
|
||||
let test = std::thread::spawn(move || {
|
||||
let result = Ast::from_str(
|
||||
include_str!("../tests/excessive_syntax_lengths-source.bin"),
|
||||
None,
|
||||
&syntax,
|
||||
);
|
||||
sender.send(result).unwrap();
|
||||
});
|
||||
let _: Result<Ast<'_>, crate::ParseError> = receiver
|
||||
.recv_timeout(std::time::Duration::from_secs(3))
|
||||
.expect("timeout");
|
||||
test.join().unwrap();
|
||||
}
|
||||
|
BIN
rinja_parser/tests/excessive_syntax_lengths-comment-start.bin
Normal file
BIN
rinja_parser/tests/excessive_syntax_lengths-comment-start.bin
Normal file
Binary file not shown.
BIN
rinja_parser/tests/excessive_syntax_lengths-source.bin
Normal file
BIN
rinja_parser/tests/excessive_syntax_lengths-source.bin
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user