blob: 014cfec7960136f5ecc2cc23c720586c0b477fe2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
use chewed::{IterWrapper, Parser};
use chomp::{
chomp::ast::NamedExpression,
nibble::{
self,
convert::{Context, Convert},
},
};
fn chomp(input: &str) -> NamedExpression {
syn::parse_str::<nibble::Statement>(&input)
.unwrap()
.convert(&mut Context::default())
.unwrap()
}
fn autonibble(input: &str) -> NamedExpression {
IterWrapper::new(input.chars())
.parse::<autonibble::Ast>()
.unwrap()
.convert(&mut Context::default())
.unwrap()
}
macro_rules! compare {
($name:ident, $file:literal) => {
#[test]
fn $name() {
let input = include_str!($file);
assert_eq!(chomp(input), autonibble(input))
}
};
}
compare!(compare_sheep, "nibble/sheep.nb");
compare!(compare_ratata, "nibble/ratata.nb");
compare!(compare_regex, "nibble/regex.nb");
compare!(compare_regex_fix, "nibble/regex_fix.nb");
compare!(compare_nibble, "nibble/nibble_exp.nb");
|