fast-check
Version:
Property based testing framework for JavaScript (like QuickCheck)
22 lines (21 loc) • 780 B
JavaScript
import { cloneMethod } from '../../symbols.js';
export class CommandsIterable {
constructor(commands, metadataForReplay) {
this.commands = commands;
this.metadataForReplay = metadataForReplay;
this[cloneMethod] = function () {
return new CommandsIterable(this.commands.map((c) => c.clone()), this.metadataForReplay);
};
}
[Symbol.iterator]() {
return this.commands[Symbol.iterator]();
}
toString() {
const serializedCommands = this.commands
.filter((c) => c.hasRan)
.map((c) => c.toString())
.join(',');
const metadata = this.metadataForReplay();
return metadata.length !== 0 ? `${serializedCommands} /*${metadata}*/` : serializedCommands;
}
}