|
1 | 1 | import * as common from '../common/index.mjs'; |
2 | 2 | import { setTimeout } from 'timers/promises'; |
3 | | -import { Readable } from 'stream'; |
| 3 | +import { PassThrough, Readable } from 'stream'; |
4 | 4 | import assert from 'assert'; |
5 | 5 |
|
6 | 6 |
|
@@ -77,6 +77,36 @@ function oneTo5Async() { |
77 | 77 | await findStream.find(common.mustCall((x) => x > 1, 2)); |
78 | 78 | await checkDestroyed(findStream); |
79 | 79 |
|
| 80 | + const openSomeStream = new PassThrough({ objectMode: true }); |
| 81 | + openSomeStream.write(1); |
| 82 | + openSomeStream.write(2); |
| 83 | + openSomeStream.write(3); |
| 84 | + assert.strictEqual( |
| 85 | + await openSomeStream.some(common.mustCall((x) => x > 2, 3)), |
| 86 | + true, |
| 87 | + ); |
| 88 | + await checkDestroyed(openSomeStream); |
| 89 | + |
| 90 | + const openEveryStream = new PassThrough({ objectMode: true }); |
| 91 | + openEveryStream.write(1); |
| 92 | + openEveryStream.write(2); |
| 93 | + openEveryStream.write(3); |
| 94 | + assert.strictEqual( |
| 95 | + await openEveryStream.every(common.mustCall((x) => x < 3, 3)), |
| 96 | + false, |
| 97 | + ); |
| 98 | + await checkDestroyed(openEveryStream); |
| 99 | + |
| 100 | + const openFindStream = new PassThrough({ objectMode: true }); |
| 101 | + openFindStream.write(1); |
| 102 | + openFindStream.write(2); |
| 103 | + openFindStream.write(3); |
| 104 | + assert.strictEqual( |
| 105 | + await openFindStream.find(common.mustCall((x) => x > 1, 2)), |
| 106 | + 2, |
| 107 | + ); |
| 108 | + await checkDestroyed(openFindStream); |
| 109 | + |
80 | 110 | // When short circuit isn't possible the whole stream is iterated |
81 | 111 | await oneTo5().some(common.mustCall(() => false, 5)); |
82 | 112 | await oneTo5().every(common.mustCall(() => true, 5)); |
|
0 commit comments