Skip to content

Commit 9cc5ce6

Browse files
Y1D7NGbengl
authored andcommitted
test: improve readline/emitKeypressEvents.js coverage
PR-URL: #42908 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
1 parent 1e2552b commit 9cc5ce6

1 file changed

Lines changed: 59 additions & 15 deletions

File tree

‎test/parallel/test-readline-emit-keypress-events.js‎

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,66 @@ require('../common');
77
constassert=require('assert');
88
constreadline=require('readline');
99
constPassThrough=require('stream').PassThrough;
10-
conststream=newPassThrough();
11-
constsequence=[];
12-
constkeys=[];
1310

14-
readline.emitKeypressEvents(stream);
15-
16-
stream.on('keypress',(s,k)=>{
17-
sequence.push(s);
18-
keys.push(k);
19-
});
20-
21-
stream.write('foo');
22-
23-
assert.deepStrictEqual(sequence,['f','o','o']);
24-
assert.deepStrictEqual(keys,[
11+
constexpectedSequence=['f','o','o'];
12+
constexpectedKeys=[
2513
{sequence: 'f',name: 'f',ctrl: false,meta: false,shift: false},
2614
{sequence: 'o',name: 'o',ctrl: false,meta: false,shift: false},
2715
{sequence: 'o',name: 'o',ctrl: false,meta: false,shift: false},
28-
]);
16+
];
17+
18+
{
19+
conststream=newPassThrough();
20+
constsequence=[];
21+
constkeys=[];
22+
23+
readline.emitKeypressEvents(stream);
24+
stream.on('keypress',(s,k)=>{
25+
sequence.push(s);
26+
keys.push(k);
27+
});
28+
stream.write('foo');
29+
30+
assert.deepStrictEqual(sequence,expectedSequence);
31+
assert.deepStrictEqual(keys,expectedKeys);
32+
}
33+
34+
{
35+
conststream=newPassThrough();
36+
constsequence=[];
37+
constkeys=[];
38+
39+
stream.on('keypress',(s,k)=>{
40+
sequence.push(s);
41+
keys.push(k);
42+
});
43+
readline.emitKeypressEvents(stream);
44+
stream.write('foo');
45+
46+
assert.deepStrictEqual(sequence,expectedSequence);
47+
assert.deepStrictEqual(keys,expectedKeys);
48+
}
49+
50+
{
51+
conststream=newPassThrough();
52+
constsequence=[];
53+
constkeys=[];
54+
constkeypressListener=(s,k)=>{
55+
sequence.push(s);
56+
keys.push(k);
57+
};
58+
59+
stream.on('keypress',keypressListener);
60+
readline.emitKeypressEvents(stream);
61+
stream.removeListener('keypress',keypressListener);
62+
stream.write('foo');
63+
64+
assert.deepStrictEqual(sequence,[]);
65+
assert.deepStrictEqual(keys,[]);
66+
67+
stream.on('keypress',keypressListener);
68+
stream.write('foo');
69+
70+
assert.deepStrictEqual(sequence,expectedSequence);
71+
assert.deepStrictEqual(keys,expectedKeys);
72+
}

0 commit comments

Comments
 (0)