⭐️ A friendly language for building type-safe, scalable systems!
at main 1.3 kB view raw
1use crate::assert_js; 2 3#[test] 4pub fn echo_with_a_simple_expression() { 5 assert_js!( 6 r#" 7pub fn main() { 8 echo 1 9} 10"# 11 ); 12} 13 14#[test] 15pub fn multiple_echos_inside_expression() { 16 assert_js!( 17 r#" 18pub fn main() { 19 echo 1 20 echo 2 21} 22"# 23 ); 24} 25 26#[test] 27pub fn echo_with_a_case_expression() { 28 assert_js!( 29 r#" 30pub fn main() { 31 echo case 1 { 32 _ -> 2 33 } 34} 35"# 36 ); 37} 38 39#[test] 40pub fn echo_with_a_panic() { 41 assert_js!( 42 r#" 43pub fn main() { 44 echo panic 45} 46"# 47 ); 48} 49 50#[test] 51pub fn echo_with_a_function_call() { 52 assert_js!( 53 r#" 54pub fn main() { 55 echo wibble(1, 2) 56} 57 58fn wibble(n: Int, m: Int) { n + m } 59"# 60 ); 61} 62 63#[test] 64pub fn echo_with_a_block() { 65 assert_js!( 66 r#" 67pub fn main() { 68 echo { 69 Nil 70 1 71 } 72} 73"# 74 ); 75} 76 77#[test] 78pub fn echo_in_a_pipeline() { 79 assert_js!( 80 r#" 81pub fn main() { 82 [1, 2, 3] 83 |> echo 84 |> wibble 85} 86 87pub fn wibble(n) { n } 88"# 89 ) 90} 91 92#[test] 93pub fn multiple_echos_in_a_pipeline() { 94 assert_js!( 95 r#" 96pub fn main() { 97 [1, 2, 3] 98 |> echo 99 |> wibble 100 |> echo 101 |> wibble 102 |> echo 103} 104 105pub fn wibble(n) { n } 106"# 107 ) 108} 109 110#[test] 111pub fn module_named_inspect() { 112 assert_js!( 113 ("other", "other/inspect", "pub const x = Nil"), 114 r#" 115import other/inspect 116 117pub fn main() { 118 echo inspect.x 119} 120"# 121 ) 122}