summaryrefslogtreecommitdiff
path: root/autochomp/tests/compare/main.rs
diff options
context:
space:
mode:
authorGreg Brown <gmb60@cam.ac.uk>2021-05-06 19:40:59 +0100
committerGreg Brown <gmb60@cam.ac.uk>2021-05-06 19:40:59 +0100
commitdfc08ff2c6580bbeb3951b223e0332546ba3b0d9 (patch)
tree60597dd9492b9c2dfa10ea610289f143dd3e41b7 /autochomp/tests/compare/main.rs
parentef485d6f3e4df6e1a424ba3797388fa0bba6eb2e (diff)
Introduce lambda expressions.
Diffstat (limited to 'autochomp/tests/compare/main.rs')
-rw-r--r--autochomp/tests/compare/main.rs39
1 files changed, 26 insertions, 13 deletions
diff --git a/autochomp/tests/compare/main.rs b/autochomp/tests/compare/main.rs
index 681014a..112f642 100644
--- a/autochomp/tests/compare/main.rs
+++ b/autochomp/tests/compare/main.rs
@@ -1,26 +1,39 @@
use chewed::{IterWrapper, Parser};
-use chomp::{chomp::ast::{Function, NamedExpression}, nibble};
+use chomp::{
+ chomp::ast::NamedExpression,
+ nibble::{
+ self,
+ convert::{Context, Convert},
+ },
+};
-fn chomp(input: &str) -> (Vec<Function>, NamedExpression) {
- syn::parse_str::<nibble::File>(&input).unwrap().convert().unwrap()
+fn chomp(input: &str) -> NamedExpression {
+ syn::parse_str::<nibble::Statement>(&input)
+ .unwrap()
+ .convert(&mut Context::default())
+ .unwrap()
}
-fn autonibble(input: &str) -> (Vec<Function>, NamedExpression) {
- IterWrapper::new(input.chars()).parse::<autochomp::Ast>().unwrap().convert().unwrap()
+fn autonibble(input: &str) -> NamedExpression {
+ IterWrapper::new(input.chars())
+ .parse::<autochomp::Ast>()
+ .unwrap()
+ .convert(&mut Context::default())
+ .unwrap()
}
macro_rules! compare {
- ($name:ident, $file:literal) => {
- #[test]
+ ($name:ident, $file:literal) => {
+ #[test]
fn $name() {
let input = include_str!($file);
assert_eq!(chomp(input), autonibble(input))
}
- };
+ };
}
-compare!(compare_sheep, "sheep.nb");
-compare!(compare_ratata, "ratata.nb");
-compare!(compare_regex, "regex.nb");
-compare!(compare_regex_fix, "regex_fix.nb");
-compare!(compare_nibble, "nibble_exp.nb");
+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");