⭐️ A friendly language for building type-safe, scalable systems!
at main 1.0 kB view raw
1use crate::{assert_js, assert_ts_def}; 2 3#[test] 4fn bare() { 5 assert_js!( 6 r#" 7pub fn go() { 8 panic 9} 10"#, 11 ); 12} 13 14#[test] 15fn panic_as() { 16 assert_js!( 17 r#" 18pub fn go() { 19 let x = "wibble" 20 panic as x 21} 22"#, 23 ); 24} 25 26#[test] 27fn bare_typescript() { 28 assert_ts_def!( 29 r#" 30pub fn go() { 31 panic 32} 33"#, 34 ); 35} 36 37#[test] 38fn as_expression() { 39 assert_js!( 40 r#" 41pub fn go(f) { 42 let boop = panic 43 f(panic) 44} 45"#, 46 ); 47} 48 49#[test] 50fn pipe() { 51 assert_js!( 52 r#" 53pub fn go(f) { 54 f |> panic 55} 56"#, 57 ); 58} 59 60#[test] 61fn sequence() { 62 assert_js!( 63 r#" 64pub fn go(at_the_disco) { 65 panic 66 at_the_disco 67} 68"#, 69 ); 70} 71 72#[test] 73fn case() { 74 assert_js!( 75 r#" 76pub fn go(x) { 77 case x { 78 _ -> panic 79 } 80} 81"#, 82 ); 83} 84 85// https://github.com/gleam-lang/gleam/issues/4471 86#[test] 87fn case_message() { 88 assert_js!( 89 r#" 90pub fn crash(message) { 91 panic as case message { 92 Ok(message) -> message 93 Error(_) -> "No message provided" 94 } 95} 96"# 97 ); 98}