Spaces:
Runtime error
Runtime error
| const { test } = require('tap') | |
| const boot = require('..') | |
| test('pretty print', t => { | |
| t.plan(19) | |
| const app = boot() | |
| app | |
| .use(first) | |
| .use(duplicate, { count: 3 }) | |
| .use(second).after(afterUse).after(after) | |
| .use(duplicate, { count: 2 }) | |
| .use(third).after(after) | |
| .use(duplicate, { count: 1 }) | |
| const linesExpected = [/^root \d+ ms$/, | |
| /^βββ first \d+ ms$/, | |
| /^βββ¬ duplicate \d+ ms$/, | |
| /^β βββ¬ duplicate \d+ ms$/, | |
| /^β {3}βββ¬ duplicate \d+ ms$/, | |
| /^β {5}βββ duplicate \d+ ms$/, | |
| /^βββ second \d+ ms$/, | |
| /^βββ¬ bound _after \d+ ms$/, | |
| /^β βββ afterInsider \d+ ms$/, | |
| /^βββ bound _after \d+ ms$/, | |
| /^βββ¬ duplicate \d+ ms$/, | |
| /^β βββ¬ duplicate \d+ ms$/, | |
| /^β {3}βββ duplicate \d+ ms$/, | |
| /^βββ third \d+ ms$/, | |
| /^βββ bound _after \d+ ms$/, | |
| /^βββ¬ duplicate \d+ ms$/, | |
| /^ {2}βββ duplicate \d+ ms$/, | |
| '' | |
| ] | |
| app.on('preReady', function show () { | |
| const print = app.prettyPrint() | |
| const lines = print.split('\n') | |
| t.equal(lines.length, linesExpected.length) | |
| lines.forEach((l, i) => { | |
| t.match(l, linesExpected[i]) | |
| }) | |
| }) | |
| function first (s, opts, done) { | |
| done() | |
| } | |
| function second (s, opts, done) { | |
| done() | |
| } | |
| function third (s, opts, done) { | |
| done() | |
| } | |
| function after (err, cb) { | |
| cb(err) | |
| } | |
| function afterUse (err, cb) { | |
| app.use(afterInsider) | |
| cb(err) | |
| } | |
| function afterInsider (s, opts, done) { | |
| done() | |
| } | |
| function duplicate (instance, opts, cb) { | |
| if (opts.count > 0) { | |
| instance.use(duplicate, { count: opts.count - 1 }) | |
| } | |
| setTimeout(cb, 20) | |
| } | |
| }) | |