test('Spinner', () => { let data = ''; class TestStream extends stream.Writable { write(chunk: Buffer | string): boolean { data += String(chunk); return true; } } const spinner = new Spinner(new TestStream()); spinner.start(); expect(data).toMatchSnapshot(); spinner.setText('foo'); spinner.render(); expect(data).toMatchSnapshot(); spinner.setText('bar'); spinner.render(); expect(data).toMatchSnapshot(); spinner.stop(); expect(data).toMatchSnapshot(); });
stream.Writable.call(this);
test('ProgressBar', () => { let data = ''; class TestStream extends stream.Writable { columns: number; constructor(options) { super(options); this.columns = 1000; } write(chunk: Buffer | string): boolean { data += String(chunk); return true; } } const bar = new ProgressBar(2, new TestStream()); bar.render(); expect(data).toMatchSnapshot(); bar.tick(); bar.render(); expect(data).toMatchSnapshot(); bar.tick(); bar.render(); expect(data).toMatchSnapshot(); });