diff --git a/index.js b/index.js index d5a169f..d494887 100644 --- a/index.js +++ b/index.js @@ -64,6 +64,10 @@ class Ora { throw new Error('The given spinner must have a `frames` property'); } + if (spinner.interval !== undefined) { + this.interval = spinner.interval; + } + this._spinner = spinner; } else if (process.platform === 'win32') { this._spinner = cliSpinners.line; diff --git a/test.js b/test.js index 9428595..27522c9 100644 --- a/test.js +++ b/test.js @@ -269,6 +269,20 @@ test('reset frameIndex when setting new spinner', async t => { t.regex(stripAnsi(await output), /foo baz/); }); +test('reset interval when setting new spinner', t => { + const spinner = new Ora({ + isEnabled: false, + spinner: {frames: ['foo', 'bar']}, + interval: 300 + }); + + t.is(spinner.interval, 300); + + spinner.spinner = {frames: ['baz'], interval: 200}; + + t.is(spinner.interval, 200); +}); + test('throw when incorrect spinner', t => { const ora = new Ora();