test262/implementation-contributed/javascriptcore/stress/call-apply-builtin-functions-dont-use-iterators.js
test262-automation e9a5a7f918 [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time) (#1620)
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
2018-07-03 15:59:58 -04:00

28 lines
736 B
JavaScript

(function(){
"use strict";
var it = [][Symbol.iterator]();
while (it) {
if (it.hasOwnProperty('next'))
delete it.next;
it = Object.getPrototypeOf(it);
}
var bind = Function.prototype.bind;
var uncurryThis = bind.bind(bind.call);
var bindFn = uncurryThis(bind);
var applyFn = uncurryThis(bind.apply);
function test() { print("here"); }
var sliceFn = uncurryThis([].slice);
function addAll(var_args) {
var args = sliceFn(arguments, 0);
var result = this;
for (var i = 0; i < args.length; i++)
result += args[i];
return result;
}
if (applyFn(addAll, 3, [4, 5, 6]) !== 18)
throw "incorrect result";
})();