htte-plugin-builtin
Version:
htte plugin builtin
22 lines (21 loc) • 684 B
JavaScript
module.exports = function(options) {
return {
name: 'array',
kind: 'sequence',
diff: function(context, literal, actual) {
if (literal === null) context.throw('literal cannot be null');
if (!Array.isArray(actual)) context.throw('actual value must be array');
literal.forEach(function(itemLiteral, index) {
let found = false;
for (let itemActual of actual) {
try {
context.enter(index).diff(itemLiteral, itemActual);
found = true;
break;
} catch (err) {}
}
if (!found) context.throw(`${index + 1}th element dont exist`);
});
}
};
};