diff --git a/src/scenario.js b/src/scenario.js index 24983d8cbf..840cd3e0dc 100644 --- a/src/scenario.js +++ b/src/scenario.js @@ -111,8 +111,11 @@ async function aLazyLoadingTest(alice, bob, charlies) { await bob.delay(500); await charlies.join(alias); const messageRange = range(1, 20); + bob.log.step("sends 20 messages").mute(); for(let i = 20; i >= 1; --i) { await sendMessage(bob, `I will only say this ${i} time(s)!`); } + bob.log.unmute().done(); await join(alice, room); + } diff --git a/src/session.js b/src/session.js index 60cbfa9099..0bfe781e61 100644 --- a/src/session.js +++ b/src/session.js @@ -35,25 +35,46 @@ class Logger { constructor(username) { this.indent = 0; this.username = username; + this.muted = false; } startGroup(description) { - const indent = " ".repeat(this.indent * 2); - console.log(`${indent} * ${this.username} ${description}:`); + if (!this.muted) { + const indent = " ".repeat(this.indent * 2); + console.log(`${indent} * ${this.username} ${description}:`); + } this.indent += 1; + return this; } endGroup() { this.indent -= 1; + return this; } step(description) { - const indent = " ".repeat(this.indent * 2); - process.stdout.write(`${indent} * ${this.username} ${description} ... `); + if (!this.muted) { + const indent = " ".repeat(this.indent * 2); + process.stdout.write(`${indent} * ${this.username} ${description} ... `); + } + return this; } done(status = "done") { - process.stdout.write(status + "\n"); + if (!this.muted) { + process.stdout.write(status + "\n"); + } + return this; + } + + mute() { + this.muted = true; + return this; + } + + unmute() { + this.muted = false; + return this; } }