aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohannes <johtso@gmail.com>2024-06-10 15:54:37 +0100
committerLouis Pilfold <louis@lpil.uk>2024-06-20 15:08:44 +0100
commitef2905f38f913a664dbc0125863a40474d29470f (patch)
tree04ec49458cf46fe352d13c8d59589f3604be26c4 /test
parent07cda8ce14c7b8d64459326ec6bdc09b82713a0c (diff)
downloadjavascript-ef2905f38f913a664dbc0125863a40474d29470f.tar.gz
javascript-ef2905f38f913a664dbc0125863a40474d29470f.zip
Add Promise.race functions
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
+ })
+}