aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gleam/javascript/promise_test.gleam23
1 files changed, 20 insertions, 3 deletions
diff --git a/test/gleam/javascript/promise_test.gleam b/test/gleam/javascript/promise_test.gleam
index 876aefb..289714b 100644
--- a/test/gleam/javascript/promise_test.gleam
+++ b/test/gleam/javascript/promise_test.gleam
@@ -4,17 +4,34 @@ import gleam/javascript.{ObjectType}
pub fn map_does_not_collapse_nested_promise_test() -> Promise(Promise(Int)) {
promise.resolve(1)
|> promise.map(promise.resolve)
- |> promise.map(fn(value) {
+ |> promise.tap(fn(value) {
// If the `Promise(Promise(Int))` collapsed into `Promise(Int)` (as they
// do for normal JS promises) then this would fail as the value would be the
// int value `1`.
assert ObjectType = javascript.type_of(value)
- value
})
}
+pub fn then_test() -> Promise(Int) {
+ promise.resolve(1)
+ |> promise.then(fn(a) { promise.resolve(a + 1) })
+ |> promise.tap(fn(a) { assert 2 = a })
+}
+
pub fn then_does_collapse_nested_promise_test() -> Promise(Int) {
promise.resolve(1)
|> promise.then(promise.resolve)
- |> promise.map(fn(value) { assert 1 = value })
+ |> promise.tap(fn(value) { assert 1 = value })
+}
+
+pub fn map_test() -> Promise(Int) {
+ promise.resolve(1)
+ |> promise.map(fn(a) { a + 1 })
+ |> promise.tap(fn(a) { assert 2 = a })
+}
+
+pub fn tap_test() -> Promise(Int) {
+ promise.resolve(1)
+ |> promise.tap(fn(a) { a + 1 })
+ |> promise.tap(fn(a) { assert 1 = a })
}