summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNadrieril2019-02-27 19:31:19 +0100
committerNadrieril2019-02-27 19:31:19 +0100
commit8680920be83ecff0aaf6472b78599bb9108272a7 (patch)
tree6f0d93c31bb7ee00acccd620248025d9d79754e9
parent849a1e59a9cd1fbd91a4fa64b027d720ff63ff2c (diff)
Add one test from the spec
-rw-r--r--src/lib.rs11
-rw-r--r--src/main.rs19
-rw-r--r--tests/tests.rs12
3 files changed, 25 insertions, 17 deletions
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..8f82c61
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,11 @@
+#![feature(box_patterns)]
+
+pub mod context;
+mod core;
+pub use crate::core::*;
+use lalrpop_util::lalrpop_mod;
+lalrpop_mod!(pub grammar); // synthesized by LALRPOP
+mod grammar_util;
+pub mod lexer;
+pub mod parser;
+pub mod typecheck;
diff --git a/src/main.rs b/src/main.rs
index 22a4c3b..cdab3c0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,24 +1,9 @@
-#![feature(box_patterns)]
-
-use bytecount;
-use lalrpop_util;
-use lalrpop_util::lalrpop_mod;
-use term_painter;
-
-pub mod context;
-mod core;
-pub use crate::core::*;
-lalrpop_mod!(pub grammar); // synthesized by LALRPOP
-mod grammar_util;
-pub mod lexer;
-pub mod parser;
-pub mod typecheck;
-
use std::io::{self, Read};
use std::error::Error;
-
use term_painter::ToStyle;
+use dhall::*;
+
const ERROR_STYLE: term_painter::Color = term_painter::Color::Red;
const BOLD: term_painter::Attr = term_painter::Attr::Bold;
diff --git a/tests/tests.rs b/tests/tests.rs
new file mode 100644
index 0000000..5089ae8
--- /dev/null
+++ b/tests/tests.rs
@@ -0,0 +1,12 @@
+use dhall::*;
+
+#[test]
+fn test(){
+ let buffer_expr = String::from(include_str!("../dhall-lang/tests/normalization/success/simple/naturalPlusA.dhall"));
+ let buffer_expected = String::from(include_str!("../dhall-lang/tests/normalization/success/simple/naturalPlusB.dhall"));
+ let expr = parser::parse_expr(&buffer_expr).unwrap();
+ let expected = parser::parse_expr(&buffer_expected).unwrap();
+ // let type_expr = typecheck::type_of(&expr).unwrap();
+ // let normalized = normalize::<_, X, _>(&expr);
+ assert_eq!(normalize::<_, X, _>(&expr), normalize::<_, X, _>(&expected));
+}