michael@0: // Replacing Array.prototype.iterator with a generator affects for-of behavior. michael@0: michael@0: load(libdir + "iteration.js"); michael@0: michael@0: Array.prototype[std_iterator] = function* () { michael@0: for (var i = this.length; --i >= 0; ) michael@0: yield this[i]; michael@0: }; michael@0: michael@0: var s = ''; michael@0: for (var v of ['a', 'b', 'c', 'd']) michael@0: s += v; michael@0: assertEq(s, 'dcba');