// |reftest| shell-option(--enable-iterator-helpers) skip-if(!this.hasOwnProperty('Iterator')||!xulRuntime.shell) -- iterator-helpers is not enabled unconditionally, requires shell-options // Copyright (C) 2023 Michael Ficarra. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-iteratorprototype.reduce description: > Underlying iterator next returns non-object info: | %Iterator.prototype%.reduce ( reducer ) features: [iterator-helpers] flags: [] ---*/ class NonObjectIterator extends Iterator { next() { return null; } } let iterator = new NonObjectIterator(); assert.throws(TypeError, function () { iterator.reduce(() => {}); }); reportCompare(0, 0);