From b2b07ef0612cc549508b757826d8d143d9587119 Mon Sep 17 00:00:00 2001 From: Chuck Daniels Date: Thu, 23 Mar 2023 12:59:31 -0400 Subject: Make iterator.any/all TCO eligible in JavaScript Fixes #427 --- test/gleam/iterator_test.gleam | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test') diff --git a/test/gleam/iterator_test.gleam b/test/gleam/iterator_test.gleam index 9c98c9d..81c790e 100644 --- a/test/gleam/iterator_test.gleam +++ b/test/gleam/iterator_test.gleam @@ -406,6 +406,12 @@ pub fn any_test() { iterator.from_list([1, 3, 5, 7, 9]) |> iterator.any(satisfying: fn(n) { n % 2 == 0 }) |> should.be_false + + // TCO test + iterator.repeat(1) + |> iterator.take(1_000_000) + |> iterator.any(satisfying: fn(n) { n % 2 == 0 }) + |> should.be_false } pub fn all_test() { @@ -420,6 +426,12 @@ pub fn all_test() { iterator.from_list([2, 4, 5, 8]) |> iterator.all(satisfying: fn(n) { n % 2 == 0 }) |> should.be_false + + // TCO test + iterator.repeat(0) + |> iterator.take(1_000_000) + |> iterator.all(satisfying: fn(n) { n % 2 == 0 }) + |> should.be_true } pub fn group_test() { -- cgit v1.2.3