Several changes, see commit msg
* clean up all tests * bugfix for zero value functions, and test * removed expand function, put in snippets * added doc strings to Symbol type * added doc strings to symbol declarations * implemented display for Args type * wrote a help function * wrote docstrings for all builtins and config vars
This commit is contained in:
parent
4b587f11ab
commit
dc6342bc74
16 changed files with 575 additions and 677 deletions
|
|
@ -1,5 +1,5 @@
|
|||
mod append_lib_tests {
|
||||
use relish::ast::{eval, lex, Ctr, SymTable};
|
||||
use relish::ast::{eval, lex, SymTable};
|
||||
use relish::stdlib::{dynamic_stdlib, static_stdlib};
|
||||
|
||||
#[test]
|
||||
|
|
@ -10,14 +10,10 @@ mod append_lib_tests {
|
|||
let mut syms = SymTable::new();
|
||||
static_stdlib(&mut syms).unwrap();
|
||||
dynamic_stdlib(&mut syms).unwrap();
|
||||
|
||||
if let Ok(tree) = lex(&document.to_string()) {
|
||||
if let Ctr::Seg(ref s) = *eval(&tree, &mut syms).unwrap() {
|
||||
assert_eq!(s.to_string(), result);
|
||||
}
|
||||
} else {
|
||||
assert!(false)
|
||||
}
|
||||
assert_eq!(
|
||||
*eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap().to_string(),
|
||||
result.to_string(),
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
@ -29,13 +25,10 @@ mod append_lib_tests {
|
|||
static_stdlib(&mut syms).unwrap();
|
||||
dynamic_stdlib(&mut syms).unwrap();
|
||||
|
||||
if let Ok(tree) = lex(&document.to_string()) {
|
||||
if let Ctr::Seg(ref s) = *eval(&tree, &mut syms).unwrap() {
|
||||
assert_eq!(s.to_string(), result);
|
||||
}
|
||||
} else {
|
||||
assert!(false)
|
||||
}
|
||||
assert_eq!(
|
||||
*eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap().to_string(),
|
||||
result.to_string(),
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
@ -47,13 +40,10 @@ mod append_lib_tests {
|
|||
static_stdlib(&mut syms).unwrap();
|
||||
dynamic_stdlib(&mut syms).unwrap();
|
||||
|
||||
if let Ok(tree) = lex(&document.to_string()) {
|
||||
if let Ctr::Seg(ref s) = *eval(&tree, &mut syms).unwrap() {
|
||||
assert_eq!(s.to_string(), result);
|
||||
}
|
||||
} else {
|
||||
assert!(false);
|
||||
}
|
||||
assert_eq!(
|
||||
*eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap().to_string(),
|
||||
result.to_string(),
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
@ -65,13 +55,10 @@ mod append_lib_tests {
|
|||
static_stdlib(&mut syms).unwrap();
|
||||
dynamic_stdlib(&mut syms).unwrap();
|
||||
|
||||
if let Ok(tree) = lex(&document.to_string()) {
|
||||
if let Ctr::Seg(ref s) = *eval(&tree, &mut syms).unwrap() {
|
||||
assert_eq!(s.to_string(), result);
|
||||
}
|
||||
} else {
|
||||
assert!(false);
|
||||
}
|
||||
assert_eq!(
|
||||
*eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap().to_string(),
|
||||
result.to_string(),
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
@ -83,12 +70,9 @@ mod append_lib_tests {
|
|||
static_stdlib(&mut syms).unwrap();
|
||||
dynamic_stdlib(&mut syms).unwrap();
|
||||
|
||||
if let Ok(tree) = lex(&document.to_string()) {
|
||||
if let Ctr::Seg(ref s) = *eval(&tree, &mut syms).unwrap() {
|
||||
assert_eq!(s.to_string(), result);
|
||||
}
|
||||
} else {
|
||||
assert!(false);
|
||||
}
|
||||
assert_eq!(
|
||||
*eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap().to_string(),
|
||||
result.to_string(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue