use expy::prettify;
#[test]
fn single_value() {
assert_eq!(prettify("42").unwrap(), "42");
assert_eq!(prettify("true").unwrap(), "true");
assert_eq!(prettify("foo").unwrap(), "foo");
assert_eq!(prettify("@bar").unwrap(), "@bar");
}
#[test]
fn unary_expression() {
assert_eq!(prettify("-55").unwrap(), "-55"); assert_eq!(prettify("- 66 ").unwrap(), "-66");
}
#[test]
fn binary_expression() {
assert_eq!(prettify("3 * 2").unwrap(), "3 * 2"); assert_eq!(prettify("3.4 *7").unwrap(), "3.4 * 7");
assert_eq!(prettify("12e6/ 4").unwrap(), "12e6 / 4");
assert_eq!(prettify("17-5").unwrap(), "17 - 5");
assert_eq!(prettify("1+2+3+4+5").unwrap(), "1 + 2 + 3 + 4 + 5");
assert_eq!(prettify("2==2||3>1").unwrap(), "2 == 2 || 3 > 1");
}
#[test]
fn function_call() {
assert_eq!(prettify("foo()").unwrap(), "foo()"); assert_eq!(prettify("foo ()").unwrap(), "foo()");
assert_eq!(prettify("foo( )").unwrap(), "foo()");
assert_eq!(prettify("foo ( )").unwrap(), "foo()");
assert_eq!(prettify("foo(42)").unwrap(), "foo(42)"); assert_eq!(prettify("foo( 42 )").unwrap(), "foo(42)");
assert_eq!(prettify("foo(42 )").unwrap(), "foo(42)");
assert_eq!(prettify("foo( 42)").unwrap(), "foo(42)");
assert_eq!(prettify("foo (42)").unwrap(), "foo(42)");
assert_eq!(prettify("foo(42, 69)").unwrap(), "foo(42, 69)"); assert_eq!(prettify("foo(42,69)").unwrap(), "foo(42, 69)");
assert_eq!(prettify("foo( 42, 69 )").unwrap(), "foo(42, 69)");
assert_eq!(prettify("foo(42, 69 )").unwrap(), "foo(42, 69)");
assert_eq!(prettify("foo ( 42 , 69 )").unwrap(), "foo(42, 69)");
}
#[test]
fn member_access() {
assert_eq!(prettify("foo.bar").unwrap(), "foo.bar"); assert_eq!(prettify("foo. bar").unwrap(), "foo.bar");
assert_eq!(prettify("foo .bar").unwrap(), "foo.bar");
assert_eq!(prettify("foo . bar").unwrap(), "foo.bar");
assert_eq!(prettify("( foo ).bar").unwrap(), "(foo).bar");
assert_eq!(prettify("foo.bar.baz").unwrap(), "foo.bar.baz"); assert_eq!(prettify("foo .bar. baz").unwrap(), "foo.bar.baz");
assert_eq!(prettify("foo. bar .baz").unwrap(), "foo.bar.baz");
assert_eq!(prettify("foo . bar . baz").unwrap(), "foo.bar.baz");
}
#[test]
fn parentheses() {
assert_eq!(prettify("1 + (2 + 3)").unwrap(), "1 + (2 + 3)"); assert_eq!(prettify("1 + ( 2 + 3 )").unwrap(), "1 + (2 + 3)");
assert_eq!(prettify("1 + ( 2 + 3 )").unwrap(), "1 + (2 + 3)");
assert_eq!(prettify("1+(2+3)").unwrap(), "1 + (2 + 3)");
assert_eq!(prettify("((((((1 + (2 + 3)))))))").unwrap(), "((((((1 + (2 + 3)))))))"); assert_eq!(prettify("( ( ( ( 42))))").unwrap(), "((((42))))");
}
#[test]
fn mixed_scalars() {
assert_eq!(prettify("foo(3 + foo(42))").unwrap(), "foo(3 + foo(42))"); assert_eq!(
prettify("foo( 6.7,100, foo(0.33 , foo( ) ) )").unwrap(),
"foo(6.7, 100, foo(0.33, foo()))");
assert_eq!(prettify("( 0 * 8888)/foo( 9^(2 + 0))").unwrap(), "(0 * 8888) / foo(9^(2 + 0))");
}
#[cfg(glam)]
#[test]
fn vectors() {
assert_eq!(prettify("[1, 2]").unwrap(), "[1, 2]"); assert_eq!(prettify("[32., 42.]").unwrap(), "[32., 42.]"); assert_eq!(prettify("[ 454, 987 ]").unwrap(), "[454, 987]");
}