Skip to content

Commit a76e78d

Browse files
dtorresnatecook1000
authored andcommitted
Add test to verify lazy filter predicate order
1 parent 3c4eead commit a76e78d

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

test/stdlib/Filter.swift

+22
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,26 @@ FilterTests.test("single-count") {
7373
expectEqual(30, count)
7474
}
7575

76+
FilterTests.test("chained filter order") {
77+
let array = [1]
78+
79+
let lazyFilter = array.lazy
80+
.filter { _ in false }
81+
.filter { _ in
82+
expectationFailure("Executed second filter before first")
83+
return true
84+
}
85+
let lazyResult = Array(lazyFilter)
86+
87+
let result = array
88+
.filter { _ in false }
89+
.filter { _ in
90+
expectationFailure("Executed second filter before first")
91+
return true
92+
}
93+
94+
expectEqual(lazyResult.count, 0)
95+
expectEqual(result.count, 0)
96+
}
97+
7698
runAllTests()

0 commit comments

Comments
 (0)