Test ES6 iterator works with DOM objects. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS internals.iterator is undefined. value = 0 value = 1 value = 4 value = 9 value = 16 value = 0 value = 1 value = 4 value = 9 value = 16 key = 0 key = 1 key = 2 key = 3 key = 4 value = 0 value = 1 value = 4 value = 9 value = 16 entry = 0,0 entry = 1,1 entry = 2,4 entry = 3,9 entry = 4,16 PASS internals.forEach("not a function") threw exception TypeError: string "not a function" is not a function. callback called PASS internals.forEach(function () { debug("callback called"); throw Error("stop!"); }) threw exception Error: stop!. thisArg, 0, 0, [object Internals] thisArg, 1, 1, [object Internals] thisArg, 4, 2, [object Internals] thisArg, 9, 3, [object Internals] thisArg, 16, 4, [object Internals] 0: [object Window] 1: [object Window] 4: [object Window] 9: [object Window] 16: [object Window] 0: [object Window] 1: [object Window] 4: [object Window] 9: [object Window] 16: [object Window] 0: undefined 1: undefined 4: undefined 9: undefined 16: undefined 0: null 1: null 4: null 9: null 16: null 0: number 1: number 4: number 9: number 16: number PASS successfullyParsed is true TEST COMPLETE