Fork of daniellemaywood.uk/gleam — Wasm codegen work
1.3 kB
88 lines
1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: 2021 The Gleam contributors
3
4use crate::assert_js;
5
6#[test]
7fn ok() {
8 assert_js!(r#"pub fn main() { Ok(1) }"#);
9}
10
11#[test]
12fn error() {
13 assert_js!(r#"pub fn main() { Error(1) }"#);
14}
15
16#[test]
17fn ok_fn() {
18 assert_js!(r#"pub fn main() { Ok }"#);
19}
20
21#[test]
22fn error_fn() {
23 assert_js!(r#"pub fn main() { Error }"#);
24}
25
26#[test]
27fn qualified_ok() {
28 assert_js!(
29 r#"import gleam
30pub fn main() { gleam.Ok(1) }"#
31 );
32}
33
34#[test]
35fn qualified_error() {
36 assert_js!(
37 r#"import gleam
38pub fn main() { gleam.Error(1) }"#
39 );
40}
41
42#[test]
43fn qualified_ok_fn() {
44 assert_js!(
45 r#"import gleam
46pub fn main() { gleam.Ok }"#
47 );
48}
49
50#[test]
51fn qualified_error_fn() {
52 assert_js!(
53 r#"import gleam
54pub fn main() { gleam.Error }"#
55 );
56}
57
58#[test]
59fn aliased_ok() {
60 assert_js!(
61 r#"import gleam.{Ok as Thing}
62pub fn main() { Thing(1) }"#
63 );
64}
65
66#[test]
67fn aliased_error() {
68 assert_js!(
69 r#"import gleam.{Error as Thing}
70pub fn main() { Thing(1) }"#
71 );
72}
73
74#[test]
75fn aliased_ok_fn() {
76 assert_js!(
77 r#"import gleam.{Ok as Thing}
78pub fn main() { Thing }"#
79 );
80}
81
82#[test]
83fn aliased_error_fn() {
84 assert_js!(
85 r#"import gleam.{Error as Thing}
86pub fn main() { Thing }"#
87 );
88}