aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gleam/javascript/promise_test.gleam90
1 files changed, 88 insertions, 2 deletions
diff --git a/test/gleam/javascript/promise_test.gleam b/test/gleam/javascript/promise_test.gleam
index f3133df..50edd8e 100644
--- a/test/gleam/javascript/promise_test.gleam
+++ b/test/gleam/javascript/promise_test.gleam
@@ -1,6 +1,7 @@
-import gleam/javascript/promise.{type Promise}
-import gleam/javascript/array
+import gleam/io
import gleam/javascript.{ObjectType}
+import gleam/javascript/array
+import gleam/javascript/promise.{type Promise}
pub fn new_promise_test() {
promise.new(fn(resolve) { resolve(1) })
@@ -211,3 +212,88 @@ pub fn await_list_test() {
let assert [1, 3, 4, 6, 10, 13] = x
})
}
+
+fn never_resolving_promise() {
+ promise.new(fn(_) { Nil })
+}
+
+pub fn race2_test() {
+ promise.race2(never_resolving_promise(), promise.resolve(1))
+ |> promise.tap(fn(x) {
+ let assert 1 = x
+ })
+}
+
+pub fn race3_test() {
+ promise.race3(
+ never_resolving_promise(),
+ promise.resolve(1),
+ never_resolving_promise(),
+ )
+ |> promise.tap(fn(x) {
+ let assert 1 = x
+ })
+}
+
+pub fn race4_test() {
+ promise.race4(
+ never_resolving_promise(),
+ never_resolving_promise(),
+ promise.resolve(1),
+ never_resolving_promise(),
+ )
+ |> promise.tap(fn(x) {
+ let assert 1 = x
+ })
+}
+
+pub fn race5_test() {
+ promise.race5(
+ never_resolving_promise(),
+ never_resolving_promise(),
+ promise.resolve(1),
+ never_resolving_promise(),
+ never_resolving_promise(),
+ )
+ |> promise.tap(fn(x) {
+ let assert 1 = x
+ })
+}
+
+pub fn race6_test() {
+ promise.race6(
+ never_resolving_promise(),
+ never_resolving_promise(),
+ promise.resolve(1),
+ never_resolving_promise(),
+ never_resolving_promise(),
+ never_resolving_promise(),
+ )
+ |> promise.tap(fn(x) {
+ let assert 1 = x
+ })
+}
+
+pub fn race_list_test() {
+ promise.race_list([
+ never_resolving_promise(),
+ promise.resolve(1),
+ never_resolving_promise(),
+ ])
+ |> promise.tap(fn(x) {
+ let assert 1 = x
+ })
+}
+
+pub fn race_array_test() {
+ promise.race_array(
+ array.from_list([
+ never_resolving_promise(),
+ promise.resolve(1),
+ never_resolving_promise(),
+ ]),
+ )
+ |> promise.tap(fn(x) {
+ let assert 1 = x
+ })
+}