aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gleam/iterator_test.gleam15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/gleam/iterator_test.gleam b/test/gleam/iterator_test.gleam
index 186ea69..7c3498b 100644
--- a/test/gleam/iterator_test.gleam
+++ b/test/gleam/iterator_test.gleam
@@ -699,3 +699,18 @@ pub fn yield_test() {
|> iterator.to_list
|> should.equal([1, 2, 3])
}
+
+pub fn yield_computes_only_necessary_values_test() {
+ let items = {
+ use <- iterator.yield(1)
+ use <- iterator.yield(2)
+ use <- iterator.yield(3)
+ iterator.empty()
+ panic as "yield computed more values than necessary"
+ }
+
+ items
+ |> iterator.take(3)
+ |> iterator.to_list
+ |> should.equal([1, 2, 3])
+}