← back to v154 · iterator-includes
conformance · v154
v154 · iterator-includes — conformance probe
9 assertions drawn from the spec. Each is a single contract the spec text makes. Pass/fail reflects what this browser executed; blocked means the contract was not run because it needs user mediation, hardware, or another unavailable precondition. Open the page in Chrome stable / canary / Firefox / Safari to compare.
0
pass
0
fail
0
blocked
9
total
| id | contract | kind | verdict | detail |
|---|---|---|---|---|
iterator-prototype-has-includes |
Iterator.prototype.includes exists, so every iterator gets the method. spec ↗ | typeof | … | |
includes-finds-a-present-value |
The basic contract: a value that is yielded is found. spec ↗ | script | … | |
includes-returns-false-for-an-absent-value |
A value that is never yielded returns false rather than undefined. spec ↗ | script | … | |
includes-uses-samevaluezero-for-nan |
SameValueZero, not strict equality: NaN must be found. This is the semantic that makes it match Array.prototype.includes rather than indexOf. spec ↗ | script | … | |
includes-treats-plus-and-minus-zero-as-equal |
SameValueZero also means +0 and -0 are the same value. spec ↗ | script | … | |
includes-short-circuits |
The method must stop pulling at the first match. Counting yields from an instrumented generator is the only way to prove laziness: a correct-but-eager implementation would return the same answer. spec ↗ | script | … | |
includes-works-on-an-endless-sequence |
A generator that never returns must still answer, provided the value appears. This is the case that has no array equivalent at all. spec ↗ | script | … | |
includes-composes-with-the-other-helpers |
It has to be usable at the end of a lazy chain, which is the point of adding it to the helper set rather than shipping a standalone function. spec ↗ | script | … | |
includes-consumes-the-iterator |
The iterator is left positioned after the match, so asking the same iterator twice gives a different answer. Surprising, correct, and worth pinning down: it is the difference between an iterator and a collection. spec ↗ | script | … |