Spaces:
Runtime error
Runtime error
; | |
var iteratorSymbol = require("es6-symbol").iterator; | |
module.exports = function (T) { | |
return { | |
"Values": function (a) { | |
var x = ["raz", "dwa", "trzy", "cztery", "pięć", "sześć"], it; | |
it = new T(x); | |
a(it[iteratorSymbol](), it, "@@iterator"); | |
a.deep(it.next(), { done: false, value: "raz" }, "#1"); | |
a.deep(it.next(), { done: false, value: "dwa" }, "#2"); | |
x.splice(1, 0, "elo"); | |
a.deep(it.next(), { done: false, value: "dwa" }, "Insert"); | |
a.deep(it.next(), { done: false, value: "trzy" }, "#3"); | |
a.deep(it.next(), { done: false, value: "cztery" }, "#4"); | |
x.pop(); | |
a.deep(it.next(), { done: false, value: "pięć" }, "#5"); | |
a.deep(it.next(), { done: true, value: undefined }, "End"); | |
}, | |
"Keys & Values": function (a) { | |
var x = ["raz", "dwa", "trzy", "cztery", "pięć", "sześć"], it; | |
it = new T(x, "key+value"); | |
a(it[iteratorSymbol](), it, "@@iterator"); | |
a.deep(it.next(), { done: false, value: [0, "raz"] }, "#1"); | |
a.deep(it.next(), { done: false, value: [1, "dwa"] }, "#2"); | |
x.splice(1, 0, "elo"); | |
a.deep(it.next(), { done: false, value: [2, "dwa"] }, "Insert"); | |
a.deep(it.next(), { done: false, value: [3, "trzy"] }, "#3"); | |
a.deep(it.next(), { done: false, value: [4, "cztery"] }, "#4"); | |
x.pop(); | |
a.deep(it.next(), { done: false, value: [5, "pięć"] }, "#5"); | |
a.deep(it.next(), { done: true, value: undefined }, "End"); | |
}, | |
"Keys": function (a) { | |
var x = ["raz", "dwa", "trzy", "cztery", "pięć", "sześć"], it; | |
it = new T(x, "key"); | |
a(it[iteratorSymbol](), it, "@@iterator"); | |
a.deep(it.next(), { done: false, value: 0 }, "#1"); | |
a.deep(it.next(), { done: false, value: 1 }, "#2"); | |
x.splice(1, 0, "elo"); | |
a.deep(it.next(), { done: false, value: 2 }, "Insert"); | |
a.deep(it.next(), { done: false, value: 3 }, "#3"); | |
a.deep(it.next(), { done: false, value: 4 }, "#4"); | |
x.pop(); | |
a.deep(it.next(), { done: false, value: 5 }, "#5"); | |
a.deep(it.next(), { done: true, value: undefined }, "End"); | |
}, | |
"Sparse": function (a) { | |
var x = new Array(6), it; | |
x[2] = "raz"; | |
x[4] = "dwa"; | |
it = new T(x); | |
a.deep(it.next(), { done: false, value: undefined }, "#1"); | |
a.deep(it.next(), { done: false, value: undefined }, "#2"); | |
a.deep(it.next(), { done: false, value: "raz" }, "#3"); | |
a.deep(it.next(), { done: false, value: undefined }, "#4"); | |
a.deep(it.next(), { done: false, value: "dwa" }, "#5"); | |
a.deep(it.next(), { done: false, value: undefined }, "#6"); | |
a.deep(it.next(), { done: true, value: undefined }, "End"); | |
} | |
}; | |
}; | |