2016-07-19 03:50:27 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
// see also test/parallel/test-handle-wrap-isrefed.js
|
|
|
|
|
|
|
|
const common = require('../common');
|
|
|
|
const strictEqual = require('assert').strictEqual;
|
|
|
|
const ReadStream = require('tty').ReadStream;
|
|
|
|
const tty = new ReadStream(0);
|
|
|
|
const isTTY = process.binding('tty_wrap').isTTY;
|
|
|
|
strictEqual(isTTY(0), true, 'tty_wrap: stdin is not a TTY');
|
|
|
|
strictEqual(Object.getPrototypeOf(tty._handle).hasOwnProperty('hasRef'),
|
|
|
|
true, 'tty_wrap: hasRef() missing');
|
|
|
|
strictEqual(tty._handle.hasRef(),
|
|
|
|
true, 'tty_wrap: not initially refed');
|
|
|
|
tty.unref();
|
|
|
|
strictEqual(tty._handle.hasRef(),
|
|
|
|
false, 'tty_wrap: unref() ineffective');
|
|
|
|
tty.ref();
|
|
|
|
strictEqual(tty._handle.hasRef(),
|
|
|
|
true, 'tty_wrap: ref() ineffective');
|
|
|
|
tty._handle.close(common.mustCall(() =>
|
2017-07-25 17:37:08 +00:00
|
|
|
strictEqual(tty._handle.hasRef(),
|
|
|
|
false, 'tty_wrap: not unrefed on close')));
|