UNPKG

@nearform/doctor

Version:
56 lines (48 loc) 1.59 kB
'use strict' const test = require('tap').test const issueCategory = require('../analysis/issue-category.js') test('Analysis - issue category', function (t) { const testQueries = [ 'cpu memory delay handles -> unknown', 'cpu memory delay ....... -> unknown', 'cpu memory ..... handles -> unknown', 'cpu memory ..... ....... -> unknown', 'cpu ...... delay handles -> unknown', 'cpu ...... delay ....... -> unknown', 'cpu ...... ..... handles -> io', 'cpu ...... ..... ....... -> io', '... memory delay handles -> unknown', '... memory delay ....... -> gc', '... memory ..... handles -> unknown', '... memory ..... ....... -> gc', '... ...... delay handles -> unknown', '... ...... delay ....... -> event-loop', '... ...... ..... handles -> io', '... ...... ..... ....... -> none' ] const queryParser = new RegExp([ /^(cpu|\.{3}) (memory|\.{6})/.source, / (delay|\.{5}) (handles|\.{7})/.source, / -> (gc|event-loop|io|none|unknown)$/.source ].join('')) for (const testQuery of testQueries) { const parsed = testQuery.match(queryParser) if (parsed === null) { t.fail(`could not parse "${testQuery}"`) } const issues = { cpu: parsed[1] === 'cpu', memory: { external: false, rss: false, heapTotal: false, heapUsed: parsed[2] === 'memory' }, delay: parsed[3] === 'delay', handles: parsed[4] === 'handles' } const expected = parsed[5] t.strictEqual(issueCategory(issues), expected, testQuery) } t.end() })