Skip to content

Commit c6e3d8d

Browse files
authored
Merge pull request github#2969 from esbena/js/process-as-event-emitter
Approved by erik-krogh
2 parents d9d6960 + ae43e90 commit c6e3d8d

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -946,6 +946,15 @@ module NodeJSLib {
946946
ImportedNodeJSEventEmitter() { this = getAnEventEmitterImport().getAnInstantiation() }
947947
}
948948

949+
/**
950+
* The NodeJS `process` object as an EventEmitter subclass.
951+
*/
952+
private class ProcessAsNodeJSEventEmitter extends NodeJSEventEmitter {
953+
ProcessAsNodeJSEventEmitter() {
954+
this = process()
955+
}
956+
}
957+
949958
/**
950959
* A class that extends EventEmitter.
951960
*/

javascript/ql/test/library-tests/frameworks/EventEmitter/test.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@
1212
| tst.js:28:17:28:22 | "blab" | tst.js:25:16:25:20 | event |
1313
| tst.js:34:18:34:22 | "BOH" | tst.js:33:17:33:17 | x |
1414
| tst.js:40:20:40:27 | "yabity" | tst.js:39:19:39:19 | x |
15+
| tst.js:46:28:46:38 | 'FirstData' | tst.js:43:45:43:49 | first |
16+
| tst.js:47:29:47:40 | 'SecondData' | tst.js:44:37:44:42 | second |

javascript/ql/test/library-tests/frameworks/EventEmitter/tst.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,11 @@ class ExtendsMyCustomEmitter extends MyEventEmitter{}
3737

3838
var em5 = new ExtendsMyCustomEmitter();
3939
em5.on("yibity", (x) => {});
40-
em5.emit("yibity", "yabity");
40+
em5.emit("yibity", "yabity");
41+
42+
var process = require('process');
43+
process.addListener('FirstEvent', function (first) {});
44+
process.on('SecondEvent', function (second) {});
45+
46+
process.emit('FirstEvent', 'FirstData');
47+
process.emit('SecondEvent', 'SecondData');

0 commit comments

Comments
 (0)