diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/javascript/promise_test.gleam | 90 |
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 + }) +} |