@webex/test-helper-mock-web-socket 3.0.0-beta.13 → 3.0.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.js +10 -11
package/dist/index.js
CHANGED
|
@@ -59,9 +59,9 @@ function setHandler(scope, map, type, fn) {
|
|
|
59
59
|
|
|
60
60
|
function noop() {}
|
|
61
61
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
* Mock of WebSocket Class
|
|
63
|
+
* @returns {MockWebSocket}
|
|
64
|
+
*/
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
var MockWebSocket = /*#__PURE__*/function (_EventEmitter) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["closeHandlers","errorHandlers","messageHandlers","openHandlers","setHandler","scope","map","type","fn","handler","get","removeListener","set","on","noop","MockWebSocket","url","protocol","options","sinon","spy","sequenceNumber","code","reason","readyState","onclose","emit","process","nextTick","data","id","eventType","obj","JSON","parse","e","EventEmitter"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\n\nimport sinon from 'sinon';\n\n/* eslint require-jsdoc: [0] */\n\nconst closeHandlers = new WeakMap();\nconst errorHandlers = new WeakMap();\nconst messageHandlers = new WeakMap();\nconst openHandlers = new WeakMap();\n\nfunction setHandler(scope, map, type, fn) {\n const handler = map.get(scope);\n\n if (handler) {\n scope.removeListener(type, handler);\n }\n map.set(scope, fn);\n if (fn) {\n scope.on(type, fn);\n }\n}\n\n// eslint-disable-next-line\nfunction noop() {}\n\n/**\n
|
|
1
|
+
{"version":3,"names":["closeHandlers","errorHandlers","messageHandlers","openHandlers","setHandler","scope","map","type","fn","handler","get","removeListener","set","on","noop","MockWebSocket","url","protocol","options","sinon","spy","sequenceNumber","code","reason","readyState","onclose","emit","process","nextTick","data","id","eventType","obj","JSON","parse","e","EventEmitter"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\n\nimport sinon from 'sinon';\n\n/* eslint require-jsdoc: [0] */\n\nconst closeHandlers = new WeakMap();\nconst errorHandlers = new WeakMap();\nconst messageHandlers = new WeakMap();\nconst openHandlers = new WeakMap();\n\nfunction setHandler(scope, map, type, fn) {\n const handler = map.get(scope);\n\n if (handler) {\n scope.removeListener(type, handler);\n }\n map.set(scope, fn);\n if (fn) {\n scope.on(type, fn);\n }\n}\n\n// eslint-disable-next-line\nfunction noop() {}\n\n/**\n * Mock of WebSocket Class\n * @returns {MockWebSocket}\n */\nexport default class MockWebSocket extends EventEmitter {\n constructor(url, protocol = [], options = {}) {\n super();\n this.url = url;\n this.protocol = protocol;\n this.options = options;\n\n sinon.spy(this, 'send');\n sinon.spy(this, 'close');\n\n this.sequenceNumber = 0;\n\n this.on('message', () => {\n this.sequenceNumber += 1;\n });\n }\n\n get onclose() {\n return closeHandlers.get(this) || noop;\n }\n\n set onclose(fn) {\n setHandler(this, closeHandlers, 'close', fn);\n }\n\n get onerror() {\n return errorHandlers.get(this) || noop;\n }\n\n set onerror(fn) {\n setHandler(this, errorHandlers, 'error', fn);\n }\n\n get onmessage() {\n return messageHandlers.get(this) || noop;\n }\n\n set onmessage(fn) {\n setHandler(this, messageHandlers, 'message', fn);\n }\n\n get onopen() {\n return openHandlers.get(this) || noop;\n }\n\n set onopen(fn) {\n setHandler(this, openHandlers, 'open', fn);\n }\n\n close(code, reason) {\n this.readyState = 3;\n this.readyState = 4;\n this.onclose({\n code,\n reason,\n });\n }\n\n open() {\n this.readyState = 1;\n this.emit('open');\n process.nextTick(() => {\n this.emit('message', {\n data: JSON.stringify({\n id: 'mockid',\n data: {\n eventType: 'mercury.buffer_state',\n },\n }),\n });\n });\n }\n\n send(obj) {\n try {\n obj = JSON.parse(obj);\n } catch (e) {\n // ignore\n }\n if (obj.type === 'ping') {\n process.nextTick(() => {\n this.emit('message', {\n data: JSON.stringify({\n id: obj.id,\n type: 'pong',\n sequenceNumber: this.sequenceNumber,\n }),\n });\n });\n }\n }\n\n addEventListener(...args) {\n return this.on(...args);\n }\n\n removeEventListener(...args) {\n return this.removeListener(...args);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;;;;;AAEA;AAEA,IAAMA,aAAa,GAAG,sBAAtB;AACA,IAAMC,aAAa,GAAG,sBAAtB;AACA,IAAMC,eAAe,GAAG,sBAAxB;AACA,IAAMC,YAAY,GAAG,sBAArB;;AAEA,SAASC,UAAT,CAAoBC,KAApB,EAA2BC,GAA3B,EAAgCC,IAAhC,EAAsCC,EAAtC,EAA0C;EACxC,IAAMC,OAAO,GAAGH,GAAG,CAACI,GAAJ,CAAQL,KAAR,CAAhB;;EAEA,IAAII,OAAJ,EAAa;IACXJ,KAAK,CAACM,cAAN,CAAqBJ,IAArB,EAA2BE,OAA3B;EACD;;EACDH,GAAG,CAACM,GAAJ,CAAQP,KAAR,EAAeG,EAAf;;EACA,IAAIA,EAAJ,EAAQ;IACNH,KAAK,CAACQ,EAAN,CAASN,IAAT,EAAeC,EAAf;EACD;AACF,C,CAED;;;AACA,SAASM,IAAT,GAAgB,CAAE;AAElB;AACA;AACA;AACA;;;IACqBC,a;;;;;EACnB,uBAAYC,GAAZ,EAA8C;IAAA;;IAAA,IAA7BC,QAA6B,uEAAlB,EAAkB;IAAA,IAAdC,OAAc,uEAAJ,EAAI;IAAA;IAC5C;IACA,MAAKF,GAAL,GAAWA,GAAX;IACA,MAAKC,QAAL,GAAgBA,QAAhB;IACA,MAAKC,OAAL,GAAeA,OAAf;;IAEAC,cAAA,CAAMC,GAAN,8CAAgB,MAAhB;;IACAD,cAAA,CAAMC,GAAN,8CAAgB,OAAhB;;IAEA,MAAKC,cAAL,GAAsB,CAAtB;;IAEA,MAAKR,EAAL,CAAQ,SAAR,EAAmB,YAAM;MACvB,MAAKQ,cAAL,IAAuB,CAAvB;IACD,CAFD;;IAX4C;EAc7C;;;;SAED,eAAc;MACZ,OAAOrB,aAAa,CAACU,GAAd,CAAkB,IAAlB,KAA2BI,IAAlC;IACD,C;SAED,aAAYN,EAAZ,EAAgB;MACdJ,UAAU,CAAC,IAAD,EAAOJ,aAAP,EAAsB,OAAtB,EAA+BQ,EAA/B,CAAV;IACD;;;SAED,eAAc;MACZ,OAAOP,aAAa,CAACS,GAAd,CAAkB,IAAlB,KAA2BI,IAAlC;IACD,C;SAED,aAAYN,EAAZ,EAAgB;MACdJ,UAAU,CAAC,IAAD,EAAOH,aAAP,EAAsB,OAAtB,EAA+BO,EAA/B,CAAV;IACD;;;SAED,eAAgB;MACd,OAAON,eAAe,CAACQ,GAAhB,CAAoB,IAApB,KAA6BI,IAApC;IACD,C;SAED,aAAcN,EAAd,EAAkB;MAChBJ,UAAU,CAAC,IAAD,EAAOF,eAAP,EAAwB,SAAxB,EAAmCM,EAAnC,CAAV;IACD;;;SAED,eAAa;MACX,OAAOL,YAAY,CAACO,GAAb,CAAiB,IAAjB,KAA0BI,IAAjC;IACD,C;SAED,aAAWN,EAAX,EAAe;MACbJ,UAAU,CAAC,IAAD,EAAOD,YAAP,EAAqB,MAArB,EAA6BK,EAA7B,CAAV;IACD;;;WAED,eAAMc,IAAN,EAAYC,MAAZ,EAAoB;MAClB,KAAKC,UAAL,GAAkB,CAAlB;MACA,KAAKA,UAAL,GAAkB,CAAlB;MACA,KAAKC,OAAL,CAAa;QACXH,IAAI,EAAJA,IADW;QAEXC,MAAM,EAANA;MAFW,CAAb;IAID;;;WAED,gBAAO;MAAA;;MACL,KAAKC,UAAL,GAAkB,CAAlB;MACA,KAAKE,IAAL,CAAU,MAAV;MACAC,OAAO,CAACC,QAAR,CAAiB,YAAM;QACrB,MAAI,CAACF,IAAL,CAAU,SAAV,EAAqB;UACnBG,IAAI,EAAE,wBAAe;YACnBC,EAAE,EAAE,QADe;YAEnBD,IAAI,EAAE;cACJE,SAAS,EAAE;YADP;UAFa,CAAf;QADa,CAArB;MAQD,CATD;IAUD;;;WAED,cAAKC,GAAL,EAAU;MAAA;;MACR,IAAI;QACFA,GAAG,GAAGC,IAAI,CAACC,KAAL,CAAWF,GAAX,CAAN;MACD,CAFD,CAEE,OAAOG,CAAP,EAAU,CACV;MACD;;MACD,IAAIH,GAAG,CAACzB,IAAJ,KAAa,MAAjB,EAAyB;QACvBoB,OAAO,CAACC,QAAR,CAAiB,YAAM;UACrB,MAAI,CAACF,IAAL,CAAU,SAAV,EAAqB;YACnBG,IAAI,EAAE,wBAAe;cACnBC,EAAE,EAAEE,GAAG,CAACF,EADW;cAEnBvB,IAAI,EAAE,MAFa;cAGnBc,cAAc,EAAE,MAAI,CAACA;YAHF,CAAf;UADa,CAArB;QAOD,CARD;MASD;IACF;;;WAED,4BAA0B;MACxB,OAAO,KAAKR,EAAL,uBAAP;IACD;;;WAED,+BAA6B;MAC3B,OAAO,KAAKF,cAAL,uBAAP;IACD;;;EAlGwCyB,oB"}
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -29,9 +29,9 @@ function setHandler(scope, map, type, fn) {
|
|
|
29
29
|
function noop() {}
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
* Mock of WebSocket Class
|
|
33
|
+
* @returns {MockWebSocket}
|
|
34
|
+
*/
|
|
35
35
|
export default class MockWebSocket extends EventEmitter {
|
|
36
36
|
constructor(url, protocol = [], options = {}) {
|
|
37
37
|
super();
|
|
@@ -86,7 +86,7 @@ export default class MockWebSocket extends EventEmitter {
|
|
|
86
86
|
this.readyState = 4;
|
|
87
87
|
this.onclose({
|
|
88
88
|
code,
|
|
89
|
-
reason
|
|
89
|
+
reason,
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -98,9 +98,9 @@ export default class MockWebSocket extends EventEmitter {
|
|
|
98
98
|
data: JSON.stringify({
|
|
99
99
|
id: 'mockid',
|
|
100
100
|
data: {
|
|
101
|
-
eventType: 'mercury.buffer_state'
|
|
102
|
-
}
|
|
103
|
-
})
|
|
101
|
+
eventType: 'mercury.buffer_state',
|
|
102
|
+
},
|
|
103
|
+
}),
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
106
|
}
|
|
@@ -108,8 +108,7 @@ export default class MockWebSocket extends EventEmitter {
|
|
|
108
108
|
send(obj) {
|
|
109
109
|
try {
|
|
110
110
|
obj = JSON.parse(obj);
|
|
111
|
-
}
|
|
112
|
-
catch (e) {
|
|
111
|
+
} catch (e) {
|
|
113
112
|
// ignore
|
|
114
113
|
}
|
|
115
114
|
if (obj.type === 'ping') {
|
|
@@ -118,8 +117,8 @@ export default class MockWebSocket extends EventEmitter {
|
|
|
118
117
|
data: JSON.stringify({
|
|
119
118
|
id: obj.id,
|
|
120
119
|
type: 'pong',
|
|
121
|
-
sequenceNumber: this.sequenceNumber
|
|
122
|
-
})
|
|
120
|
+
sequenceNumber: this.sequenceNumber,
|
|
121
|
+
}),
|
|
123
122
|
});
|
|
124
123
|
});
|
|
125
124
|
}
|