diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-08-29 17:18:37 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-08-29 17:18:37 +0100 |
commit | c2d25106df806fd9de96f1ab3186102ba27dceab (patch) | |
tree | 833f17fd6e3821f6ee2d536ecdef96cc3418d944 /test | |
parent | 08bf033063a8d3ce789939bac36ed39fc6bc2eca (diff) | |
download | javascript-c2d25106df806fd9de96f1ab3186102ba27dceab.tar.gz javascript-c2d25106df806fd9de96f1ab3186102ba27dceab.zip |
Promises
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/javascript/promise_test.gleam | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/gleam/javascript/promise_test.gleam b/test/gleam/javascript/promise_test.gleam new file mode 100644 index 0000000..876aefb --- /dev/null +++ b/test/gleam/javascript/promise_test.gleam @@ -0,0 +1,20 @@ +import gleam/javascript/promise.{Promise} +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) { + // 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_does_collapse_nested_promise_test() -> Promise(Int) { + promise.resolve(1) + |> promise.then(promise.resolve) + |> promise.map(fn(value) { assert 1 = value }) +} |