UNPKG

792 BJavaScriptView Raw
1var chalk = require('chalk');
2var split = require('split');
3var through = require('through');
4var lastLine = '';
5var precision = 0.001;
6console.log('Testing timer accuracy...')
7process.stdin.pipe(split()).pipe(through(function(line) {
8 line = chalk.stripColor(line);
9 var calculated, reported;
10 var lm = lastLine.match(/(\d+\.\d+).+about/);
11 var m = line.match(/about (\d+\.\d+)/);
12 if (m && lm) {
13 calculated = parseFloat(m[1]);
14 reported = parseFloat(lm[1]);
15 if (Math.abs(calculated - reported) > precision) {
16 console.error(chalk.bold.red(
17 reported + ' !~ ' + calculated + ' -- bad'
18 ));
19 process.exit(1);
20 }
21 this.queue(chalk.bold.green(
22 reported + ' ~ ' + calculated + ' -- ok\n'
23 ));
24 }
25 lastLine = line;
26})).pipe(process.stdout);