Skip to content

Commit e2bffae

Browse files
committed
pass rows / columns to child process
1 parent 6e7652b commit e2bffae

File tree

4 files changed

+33
-11
lines changed

4 files changed

+33
-11
lines changed

lib/fork.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ var send = require('./send');
1010
module.exports = function (file, opts) {
1111
opts = objectAssign({
1212
file: file,
13-
isTTY: Boolean(process.stdout.isTTY)
13+
tty: process.stdout.isTTY ? {
14+
columns: process.stdout.columns,
15+
rows: process.stdout.rows
16+
} : false
1417
}, opts);
1518

1619
var ps = childProcess.fork(path.join(__dirname, 'test-worker.js'), [JSON.stringify(opts)], {

lib/reporters/mini.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ MiniReporter.prototype._clear = function () {
159159
var columns = process.stdout.columns;
160160
lastLine = lastLine.substring(len - (len % columns));
161161
if (!lastLine.length) {
162-
if (isWindows || !len) {
162+
if (isWindows || !len) {
163163
ct++;
164164
}
165165
return ansiEscapes.eraseLines(ct);

lib/test-worker.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ var opts = JSON.parse(process.argv[2]);
33
var testPath = opts.file;
44

55
// Fake TTY support
6-
if (opts.isTTY) {
6+
if (opts.tty) {
77
process.stdout.isTTY = true;
8+
process.stdout.columns = opts.tty.columns || 80;
9+
process.stdout.rows = opts.tty.rows;
810
var tty = require('tty');
911
var isatty = tty.isatty;
1012
tty.isatty = function (fd) {
+25-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,28 @@
1-
import test from '../../'
1+
import test from '../../';
2+
import delay from 'delay';
23

3-
4-
function writeline() {
5-
for (var i = 0; i < 80; i++) {
6-
process.stdout.write(String(i % 10))
7-
}
4+
function writeFullWidth(even, adjust) {
5+
return async function (t) {
6+
await delay(200);
7+
var len = Math[even ? 'floor' : 'ceil']((process.stdout.columns + adjust) / 2);
8+
for (var i = 0; i < len; i++) {
9+
process.stdout.write(String(i % 10));
10+
await delay(1);
11+
}
12+
await delay(200);
13+
t.pass();
14+
};
815
}
916

10-
test.serial(t=>{writeline(),t.pass()});
11-
test.serial(t=>{writeline(),t.pass()});
17+
test.serial(writeFullWidth(true, 0));
18+
test.serial(writeFullWidth(false, 0));
19+
test.serial(writeFullWidth(true, 1));
20+
test.serial(writeFullWidth(false, 1));
21+
test.serial(writeFullWidth(true, -2));
22+
test.serial(writeFullWidth(false, -2));
23+
test.serial(writeFullWidth(true, 1));
24+
test.serial(writeFullWidth(false, 1));
25+
test.serial(writeFullWidth(true, 0));
26+
test.serial(writeFullWidth(false, 0));
27+
test.serial(writeFullWidth(true, 0));
28+
test.serial(writeFullWidth(false, 0));

0 commit comments

Comments
 (0)