From ba10a3baa597786009aec0f672b18187cec39217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Petr=C3=A1=C5=A1?= Date: Fri, 14 Jun 2024 00:53:41 +0200 Subject: Add test for lazy iterator.yield --- test/gleam/iterator_test.gleam | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test') 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]) +} -- cgit v1.2.3