diff options
Diffstat (limited to 'src/lisp/parse.rs')
-rw-r--r-- | src/lisp/parse.rs | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/lisp/parse.rs b/src/lisp/parse.rs index 7cca434..6a8de9f 100644 --- a/src/lisp/parse.rs +++ b/src/lisp/parse.rs | |||
@@ -210,32 +210,33 @@ mod tests { | |||
210 | } | 210 | } |
211 | 211 | ||
212 | #[test] | 212 | #[test] |
213 | // fn parse_lisp_expr() { | 213 | fn parse_lisp_expr() { |
214 | // assert_eq!( | 214 | assert_eq!( |
215 | // parse("1.5").unwrap(), | 215 | parse("1.5").unwrap(), |
216 | // LispExpr::Number(LispNumber::Float(1.5)) | 216 | LispExpr::Number(LispNumber::Float(1.5)) |
217 | // ); | 217 | ); |
218 | 218 | ||
219 | // assert_eq!( | 219 | assert_eq!( |
220 | // parse(r#""hello""#).unwrap(), | 220 | parse(r#""hello""#).unwrap(), |
221 | // LispExpr::StringLit(r#""hello""#.into()) | 221 | LispExpr::StringLit("hello".into()) |
222 | // ); | 222 | ); |
223 | 223 | ||
224 | // assert_eq!(parse("foo").unwrap(), LispExpr::Ident("foo".into())); | 224 | assert_eq!(parse("foo").unwrap(), LispExpr::Ident("foo".into())); |
225 | 225 | ||
226 | // let items = (1..=5) | 226 | let items = (1..=5) |
227 | // .map(LispNumber::Integer) | 227 | .map(LispNumber::Integer) |
228 | // .map(LispExpr::Number) | 228 | .map(LispExpr::Number) |
229 | // .collect::<Vec<_>>(); | 229 | .collect::<Vec<_>>(); |
230 | // assert_eq!(parse("(1 2 3 4 5)").unwrap(), LispExpr::List(items)); | 230 | assert_eq!(parse("(1 2 3 4 5)").unwrap(), LispExpr::List(items)); |
231 | 231 | ||
232 | // let foo = LispExpr::Ident("foo".into()); | 232 | let foo = LispExpr::Ident("foo".into()); |
233 | // let bar = LispExpr::Comma(Box::new(LispExpr::Ident("bar".into())), 1); | 233 | let bar = LispExpr::Comma(Box::new(LispExpr::Ident("bar".into())), 1); |
234 | // assert_eq!( | 234 | assert_eq!( |
235 | // parse("`(foo ,bar)").unwrap(), | 235 | parse("`(foo ,bar)").unwrap(), |
236 | // LispExpr::Quasiquote(Box::new(LispExpr::List(vec![foo, bar])), 1) | 236 | LispExpr::Quasiquote(Box::new(LispExpr::List(vec![foo, bar])), 1) |
237 | // ) | 237 | ) |
238 | // } | 238 | } |
239 | |||
239 | #[should_panic] | 240 | #[should_panic] |
240 | #[test] | 241 | #[test] |
241 | fn unbalanced_comma() { | 242 | fn unbalanced_comma() { |