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