• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2require('../common');
3
4// This test ensures that the escapeCodeTimeout option set correctly
5
6const assert = require('assert');
7const readline = require('readline');
8const EventEmitter = require('events').EventEmitter;
9
10class FakeInput extends EventEmitter {
11  resume() {}
12  pause() {}
13  write() {}
14  end() {}
15}
16
17{
18  const fi = new FakeInput();
19  const rli = new readline.Interface({
20    input: fi,
21    output: fi,
22    escapeCodeTimeout: 50
23  });
24  assert.strictEqual(rli.escapeCodeTimeout, 50);
25  rli.close();
26}
27
28[
29  null,
30  {},
31  NaN,
32  '50',
33].forEach((invalidInput) => {
34  assert.throws(() => {
35    const fi = new FakeInput();
36    const rli = new readline.Interface({
37      input: fi,
38      output: fi,
39      escapeCodeTimeout: invalidInput
40    });
41    rli.close();
42  }, {
43    name: 'TypeError',
44    code: 'ERR_INVALID_OPT_VALUE'
45  });
46});
47