@neurodevs/node-lsl 12.0.6 → 13.0.0
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/README.md +2 -5
- package/build/__tests__/AbstractPackageTest.d.ts +9 -3
- package/build/__tests__/AbstractPackageTest.js +37 -3
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/LiblslAdapter.test.d.ts +6 -0
- package/build/__tests__/impl/LiblslAdapter.test.js +133 -12
- package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -1
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js +5 -5
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInfo.test.js +3 -3
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +30 -2
- package/build/__tests__/impl/LslStreamInlet.test.js +181 -18
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamOutlet.test.d.ts +16 -7
- package/build/__tests__/impl/LslStreamOutlet.test.js +84 -23
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslWebSocketBridge.test.d.ts +15 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.js +112 -2
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
- package/build/assertions.d.ts +3 -3
- package/build/assertions.js +6 -6
- package/build/assertions.js.map +1 -1
- package/build/handleError.d.ts +8 -0
- package/build/handleError.js +25 -0
- package/build/handleError.js.map +1 -0
- package/build/impl/LiblslAdapter.d.ts +128 -13
- package/build/impl/LiblslAdapter.js +149 -71
- package/build/impl/LiblslAdapter.js.map +1 -1
- package/build/impl/LslEventMarkerOutlet.d.ts +4 -1
- package/build/impl/LslEventMarkerOutlet.js +3 -3
- package/build/impl/LslEventMarkerOutlet.js.map +1 -1
- package/build/impl/LslStreamInfo.d.ts +3 -3
- package/build/impl/LslStreamInfo.js +5 -5
- package/build/impl/LslStreamInfo.js.map +1 -1
- package/build/impl/LslStreamInlet.d.ts +52 -14
- package/build/impl/LslStreamInlet.js +157 -20
- package/build/impl/LslStreamInlet.js.map +1 -1
- package/build/impl/LslStreamOutlet.d.ts +13 -13
- package/build/impl/LslStreamOutlet.js +22 -21
- package/build/impl/LslStreamOutlet.js.map +1 -1
- package/build/impl/LslWebSocketBridge.d.ts +35 -3
- package/build/impl/LslWebSocketBridge.js +66 -3
- package/build/impl/LslWebSocketBridge.js.map +1 -1
- package/build/index.d.ts +0 -1
- package/build/index.js +0 -1
- package/build/index.js.map +1 -1
- package/build/scripts/runLslStreamOutlet.js +2 -3
- package/build/scripts/runLslStreamOutlet.js.map +1 -1
- package/build/scripts/runOutletToInlet.d.ts +1 -0
- package/build/scripts/runOutletToInlet.js +45 -0
- package/build/scripts/runOutletToInlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.d.ts +1 -2
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.d.ts +2 -2
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +1 -2
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -1
- package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +15 -3
- package/build/testDoubles/Liblsl/FakeLiblsl.js +42 -0
- package/build/testDoubles/Liblsl/FakeLiblsl.js.map +1 -1
- package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +12 -3
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js +25 -5
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -1
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +3 -3
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js +2 -2
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -1
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.d.ts +4 -4
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +6 -6
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -1
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.d.ts +6 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js +15 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js.map +1 -1
- package/build/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.d.ts +4 -0
- package/build/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.js +7 -0
- package/build/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.js.map +1 -0
- package/build/testDoubles/WebSockets/FakeWebSocket.d.ts +10 -0
- package/build/testDoubles/WebSockets/FakeWebSocket.js +14 -0
- package/build/testDoubles/WebSockets/FakeWebSocket.js.map +1 -0
- package/build/testDoubles/WebSockets/FakeWebSocketServer.d.ts +13 -0
- package/build/testDoubles/WebSockets/FakeWebSocketServer.js +22 -0
- package/build/testDoubles/WebSockets/FakeWebSocketServer.js.map +1 -0
- package/build/testDoubles/generateRandomOutletOptions.js +3 -3
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/package.json +5 -3
- package/src/__tests__/AbstractPackageTest.ts +52 -4
- package/src/__tests__/impl/LiblslAdapter.test.ts +181 -16
- package/src/__tests__/impl/LslEventMarkerOutlet.test.ts +5 -5
- package/src/__tests__/impl/LslStreamInfo.test.ts +3 -3
- package/src/__tests__/impl/LslStreamInlet.test.ts +253 -20
- package/src/__tests__/impl/LslStreamOutlet.test.ts +111 -24
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +163 -5
- package/src/assertions.ts +7 -7
- package/src/handleError.ts +24 -0
- package/src/impl/LiblslAdapter.ts +322 -97
- package/src/impl/LslEventMarkerOutlet.ts +8 -4
- package/src/impl/LslStreamInfo.ts +9 -9
- package/src/impl/LslStreamInlet.ts +233 -25
- package/src/impl/LslStreamOutlet.ts +43 -33
- package/src/impl/LslWebSocketBridge.ts +115 -5
- package/src/index.ts +0 -2
- package/src/scripts/runLslStreamOutlet.ts +2 -3
- package/src/scripts/runOutletToInlet.ts +53 -0
- package/src/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.ts +4 -2
- package/src/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.ts +5 -2
- package/src/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.ts +4 -2
- package/src/testDoubles/Liblsl/FakeLiblsl.ts +61 -1
- package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +36 -5
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +7 -2
- package/src/testDoubles/StreamOutlet/FakeStreamOutlet.ts +7 -7
- package/src/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.ts +18 -0
- package/src/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.ts +9 -0
- package/src/testDoubles/WebSockets/FakeWebSocket.ts +17 -0
- package/src/testDoubles/WebSockets/FakeWebSocketServer.ts +32 -0
- package/src/testDoubles/generateRandomOutletOptions.ts +3 -3
- package/build/types.d.ts +0 -95
- package/build/types.js +0 -2
- package/build/types.js.map +0 -1
- package/src/types.ts +0 -111
|
@@ -5,15 +5,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { test, assert } from '@neurodevs/node-tdd';
|
|
8
|
-
import LslStreamInlet from '../../impl/LslStreamInlet.js';
|
|
9
8
|
import FakeStreamInfo from '../../testDoubles/StreamInfo/FakeStreamInfo.js';
|
|
10
9
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
11
10
|
export default class LslStreamInletTest extends AbstractPackageTest {
|
|
12
11
|
static instance;
|
|
12
|
+
static callsToOnData;
|
|
13
13
|
static async beforeEach() {
|
|
14
14
|
await super.beforeEach();
|
|
15
15
|
this.setSpyStreamInlet();
|
|
16
16
|
this.setFakeStreamInfo();
|
|
17
|
+
this.callsToOnData = [];
|
|
17
18
|
this.instance = this.LslStreamInlet();
|
|
18
19
|
}
|
|
19
20
|
static async createsInstance() {
|
|
@@ -23,7 +24,7 @@ export default class LslStreamInletTest extends AbstractPackageTest {
|
|
|
23
24
|
assert.isEqualDeep(FakeStreamInfo.callsToConstructor[0], {
|
|
24
25
|
channelNames: this.channelNames,
|
|
25
26
|
channelFormat: 'float32',
|
|
26
|
-
|
|
27
|
+
sampleRateHz: 0,
|
|
27
28
|
name: this.name_,
|
|
28
29
|
type: this.type,
|
|
29
30
|
sourceId: this.sourceId,
|
|
@@ -39,26 +40,140 @@ export default class LslStreamInletTest extends AbstractPackageTest {
|
|
|
39
40
|
assert.isEqualDeep(this.fakeLiblsl.lastCreateInletOptions, {
|
|
40
41
|
info: fakeInfo.boundStreamInfo,
|
|
41
42
|
chunkSize: this.chunkSize,
|
|
42
|
-
|
|
43
|
+
maxBufferedMs: this.maxBufferedMs / 1000,
|
|
43
44
|
}, 'Should have called createInlet!');
|
|
44
45
|
}
|
|
45
|
-
static async
|
|
46
|
-
this.instance.
|
|
47
|
-
assert.isEqualDeep(this.fakeLiblsl.lastFlushInletOptions, { inlet: this.
|
|
46
|
+
static async flushQueueCallsLslBinding() {
|
|
47
|
+
this.instance.flushQueue();
|
|
48
|
+
assert.isEqualDeep(this.fakeLiblsl.lastFlushInletOptions, { inlet: this.boundInlet }, 'Should have called flushInlet!');
|
|
48
49
|
}
|
|
49
|
-
static
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
static async destroyCallsLslBinding() {
|
|
51
|
+
this.instance.destroy();
|
|
52
|
+
assert.isEqualDeep(this.fakeLiblsl.lastDestroyInletOptions, { inlet: this.boundInlet }, 'Should have called destroyInlet!');
|
|
53
|
+
}
|
|
54
|
+
static async exposesIsRunningFieldThatIsFalseAtFirst() {
|
|
55
|
+
assert.isFalse(this.isRunning, 'isRunning should be false at first!');
|
|
56
|
+
}
|
|
57
|
+
static async startPullingSetsIsRunningToTrue() {
|
|
58
|
+
this.startPulling();
|
|
59
|
+
await this.wait(10);
|
|
60
|
+
assert.isTrue(this.isRunning, 'isRunning should be true!');
|
|
61
|
+
this.stopPulling();
|
|
62
|
+
}
|
|
63
|
+
static async stopPullingSetsIsRunningToFalse() {
|
|
64
|
+
await this.startThenStop();
|
|
65
|
+
assert.isFalse(this.isRunning, 'isRunning should be false!');
|
|
66
|
+
}
|
|
67
|
+
static async callsOnDataForChunkSizeNotOne() {
|
|
68
|
+
await this.startThenStop();
|
|
69
|
+
assert.isEqual(this.callsToOnData.length, 2, 'Did not call onData as expected!');
|
|
70
|
+
}
|
|
71
|
+
static async callsOnDataForChunkSizeOne() {
|
|
72
|
+
await this.runChunkSizeOne();
|
|
73
|
+
assert.isEqual(this.callsToOnData.length, 2, 'Did not call onData as expected!');
|
|
74
|
+
}
|
|
75
|
+
static async callsPullSampleIfChunkSizeIsOne() {
|
|
76
|
+
const inlet = await this.runChunkSizeOne();
|
|
77
|
+
assert.isEqualDeep(this.fakeLiblsl.lastPullSampleOptions, {
|
|
78
|
+
inlet: this.boundInlet,
|
|
79
|
+
dataBufferPtr: inlet['dataBufferPtr'],
|
|
80
|
+
dataBufferElements: this.channelCount,
|
|
81
|
+
timeout: 0,
|
|
82
|
+
errcodePtr: inlet['errorCodeBufferPtr'],
|
|
83
|
+
}, 'Should have called pullSample!');
|
|
84
|
+
}
|
|
85
|
+
static async callsPullChunkIfChunkSizeIsNotOne() {
|
|
86
|
+
await this.startThenStop();
|
|
87
|
+
assert.isEqualDeep(this.fakeLiblsl.lastPullChunkOptions, {
|
|
88
|
+
inlet: this.boundInlet,
|
|
89
|
+
dataBufferPtr: this.instance['dataBufferPtr'],
|
|
90
|
+
timestampBufferPtr: this.instance['timestampBufferPtr'],
|
|
91
|
+
dataBufferElements: this.chunkSize * this.channelCount,
|
|
92
|
+
timestampBufferElements: this.chunkSize,
|
|
93
|
+
timeout: 0,
|
|
94
|
+
errcodePtr: this.instance['errorCodeBufferPtr'],
|
|
95
|
+
}, 'Should have called pullChunk!');
|
|
96
|
+
}
|
|
97
|
+
static async passesTimeoutMsOptionToPullSample() {
|
|
98
|
+
const timeoutMs = 1000 * Math.random();
|
|
99
|
+
await this.runInletWithOptions({
|
|
100
|
+
chunkSize: 1,
|
|
101
|
+
timeoutMs,
|
|
102
|
+
});
|
|
103
|
+
assert.isEqual(this.fakeLiblsl.lastPullSampleOptions?.timeout, timeoutMs / 1000, 'Did not pass timeoutMs to pullSample!');
|
|
104
|
+
}
|
|
105
|
+
static async passesTimeoutMsOptionToPullChunk() {
|
|
106
|
+
const timeoutMs = 1000 * Math.random();
|
|
107
|
+
await this.runInletWithOptions({
|
|
57
108
|
chunkSize: this.chunkSize,
|
|
58
|
-
|
|
109
|
+
timeoutMs,
|
|
110
|
+
});
|
|
111
|
+
assert.isEqual(this.fakeLiblsl.lastPullChunkOptions?.timeout, timeoutMs / 1000, 'Did not pass timeoutMs to pullChunk!');
|
|
112
|
+
}
|
|
113
|
+
static async defaultsMaxBufferedMsToSixMinutesInSeconds() {
|
|
114
|
+
await this.runInletWithOptions({
|
|
115
|
+
maxBufferedMs: undefined,
|
|
116
|
+
});
|
|
117
|
+
const sixMinutesInSeconds = 360;
|
|
118
|
+
assert.isEqualDeep(this.fakeLiblsl.lastCreateInletOptions?.maxBufferedMs, sixMinutesInSeconds);
|
|
119
|
+
}
|
|
120
|
+
static async throwsWithUnknownErrorCode() {
|
|
121
|
+
await this.assertThrowsWithErrorCode(-999, `An unknown liblsl error has occurred!`);
|
|
122
|
+
}
|
|
123
|
+
static async throwsWithErrorCodeNegativeOne() {
|
|
124
|
+
await this.assertThrowsWithErrorCode(-1, `The liblsl operation failed due to a timeout!`);
|
|
125
|
+
}
|
|
126
|
+
static async throwsWithErrorCodeNegativeTwo() {
|
|
127
|
+
await this.assertThrowsWithErrorCode(-2, `The liblsl stream has been lost!`);
|
|
128
|
+
}
|
|
129
|
+
static async throwsWithErrorCodeNegativeThree() {
|
|
130
|
+
await this.assertThrowsWithErrorCode(-3, 'A liblsl argument was incorrectly specified!');
|
|
131
|
+
}
|
|
132
|
+
static async throwsWithErrorCodeNegativeFour() {
|
|
133
|
+
await this.assertThrowsWithErrorCode(-4, 'An internal liblsl error has occurred!');
|
|
134
|
+
}
|
|
135
|
+
static async assertThrowsWithErrorCode(errorCode, message) {
|
|
136
|
+
await this.startThenStop();
|
|
137
|
+
this.instance['errorCodeBuffer'].writeInt32LE(errorCode);
|
|
138
|
+
assert.doesThrow(() => {
|
|
139
|
+
this.instance['handleErrorCodeIfPresent']();
|
|
140
|
+
}, message);
|
|
141
|
+
}
|
|
142
|
+
static async runChunkSizeOne() {
|
|
143
|
+
return await this.runInletWithOptions({
|
|
144
|
+
chunkSize: 1,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
static async runInletWithOptions(options) {
|
|
148
|
+
const inlet = this.LslStreamInlet(options);
|
|
149
|
+
await this.startThenStop(inlet);
|
|
150
|
+
return inlet;
|
|
151
|
+
}
|
|
152
|
+
static async startThenStop(inlet) {
|
|
153
|
+
const instance = inlet || this.instance;
|
|
154
|
+
instance.startPulling();
|
|
155
|
+
await this.wait(10);
|
|
156
|
+
instance.stopPulling();
|
|
157
|
+
}
|
|
158
|
+
static startPulling() {
|
|
159
|
+
this.instance.startPulling();
|
|
160
|
+
}
|
|
161
|
+
static stopPulling() {
|
|
162
|
+
this.instance.stopPulling();
|
|
163
|
+
}
|
|
164
|
+
static get isRunning() {
|
|
165
|
+
return this.instance.isRunning;
|
|
166
|
+
}
|
|
167
|
+
static get boundInlet() {
|
|
168
|
+
return this.instance.getBoundInlet();
|
|
169
|
+
}
|
|
170
|
+
static onData = (samples, timestamps) => {
|
|
171
|
+
this.callsToOnData.push({ samples, timestamps });
|
|
172
|
+
};
|
|
173
|
+
static LslStreamInlet(options) {
|
|
174
|
+
return AbstractPackageTest.LslStreamInlet({
|
|
59
175
|
...options,
|
|
60
|
-
};
|
|
61
|
-
return LslStreamInlet.Create(defaultOptions);
|
|
176
|
+
}, this.onData);
|
|
62
177
|
}
|
|
63
178
|
}
|
|
64
179
|
__decorate([
|
|
@@ -75,5 +190,53 @@ __decorate([
|
|
|
75
190
|
], LslStreamInletTest, "callsBindingsToCreateStreamInlet", null);
|
|
76
191
|
__decorate([
|
|
77
192
|
test()
|
|
78
|
-
], LslStreamInletTest, "
|
|
193
|
+
], LslStreamInletTest, "flushQueueCallsLslBinding", null);
|
|
194
|
+
__decorate([
|
|
195
|
+
test()
|
|
196
|
+
], LslStreamInletTest, "destroyCallsLslBinding", null);
|
|
197
|
+
__decorate([
|
|
198
|
+
test()
|
|
199
|
+
], LslStreamInletTest, "exposesIsRunningFieldThatIsFalseAtFirst", null);
|
|
200
|
+
__decorate([
|
|
201
|
+
test()
|
|
202
|
+
], LslStreamInletTest, "startPullingSetsIsRunningToTrue", null);
|
|
203
|
+
__decorate([
|
|
204
|
+
test()
|
|
205
|
+
], LslStreamInletTest, "stopPullingSetsIsRunningToFalse", null);
|
|
206
|
+
__decorate([
|
|
207
|
+
test()
|
|
208
|
+
], LslStreamInletTest, "callsOnDataForChunkSizeNotOne", null);
|
|
209
|
+
__decorate([
|
|
210
|
+
test()
|
|
211
|
+
], LslStreamInletTest, "callsOnDataForChunkSizeOne", null);
|
|
212
|
+
__decorate([
|
|
213
|
+
test()
|
|
214
|
+
], LslStreamInletTest, "callsPullSampleIfChunkSizeIsOne", null);
|
|
215
|
+
__decorate([
|
|
216
|
+
test()
|
|
217
|
+
], LslStreamInletTest, "callsPullChunkIfChunkSizeIsNotOne", null);
|
|
218
|
+
__decorate([
|
|
219
|
+
test()
|
|
220
|
+
], LslStreamInletTest, "passesTimeoutMsOptionToPullSample", null);
|
|
221
|
+
__decorate([
|
|
222
|
+
test()
|
|
223
|
+
], LslStreamInletTest, "passesTimeoutMsOptionToPullChunk", null);
|
|
224
|
+
__decorate([
|
|
225
|
+
test()
|
|
226
|
+
], LslStreamInletTest, "defaultsMaxBufferedMsToSixMinutesInSeconds", null);
|
|
227
|
+
__decorate([
|
|
228
|
+
test()
|
|
229
|
+
], LslStreamInletTest, "throwsWithUnknownErrorCode", null);
|
|
230
|
+
__decorate([
|
|
231
|
+
test()
|
|
232
|
+
], LslStreamInletTest, "throwsWithErrorCodeNegativeOne", null);
|
|
233
|
+
__decorate([
|
|
234
|
+
test()
|
|
235
|
+
], LslStreamInletTest, "throwsWithErrorCodeNegativeTwo", null);
|
|
236
|
+
__decorate([
|
|
237
|
+
test()
|
|
238
|
+
], LslStreamInletTest, "throwsWithErrorCodeNegativeThree", null);
|
|
239
|
+
__decorate([
|
|
240
|
+
test()
|
|
241
|
+
], LslStreamInletTest, "throwsWithErrorCodeNegativeFour", null);
|
|
79
242
|
//# sourceMappingURL=LslStreamInlet.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInlet.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"LslStreamInlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { LslSample } from '
|
|
1
|
+
import { LslSample } from 'impl/LiblslAdapter.js';
|
|
2
2
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
3
3
|
export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
4
4
|
private static randomOutletOptions;
|
|
5
5
|
protected static beforeEach(): Promise<void>;
|
|
6
6
|
protected static throwsWithEmptyChannelNames(): Promise<void>;
|
|
7
|
-
protected static
|
|
8
|
-
protected static
|
|
7
|
+
protected static allowsZeroSampleRateHz(): Promise<void>;
|
|
8
|
+
protected static throwsWithInvalidSampleRateHz(): Promise<void>;
|
|
9
9
|
protected static throwsWithInvalidChannelFormat(): Promise<void>;
|
|
10
10
|
protected static allowsZeroChunkSize(): Promise<void>;
|
|
11
11
|
protected static throwsWithInvalidChunkSize(): Promise<void>;
|
|
12
|
-
protected static
|
|
13
|
-
protected static
|
|
12
|
+
protected static allowsZeroMaxBufferedMs(): Promise<void>;
|
|
13
|
+
protected static throwsWithInvalidMaxBufferedMs(): Promise<void>;
|
|
14
14
|
protected static throwsWithUnsupportedType(): Promise<void>;
|
|
15
15
|
protected static supportsAllKnownChannelFormats(): Promise<void>;
|
|
16
16
|
protected static canPushFloatSampleToLsl(sample: LslSample): Promise<void>;
|
|
@@ -21,10 +21,19 @@ export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
|
21
21
|
protected static canDestroyOutlet(): Promise<void>;
|
|
22
22
|
protected static pushSampleShouldNotCreateMultipleOutlets(): Promise<void>;
|
|
23
23
|
protected static waitsForTenMsAfterConstructionBeforeReturning(): Promise<void>;
|
|
24
|
+
protected static defaultsMaxBufferedMsToSixMinutesInSeconds(): Promise<void>;
|
|
25
|
+
protected static defaultsManufacturerToNA(): Promise<void>;
|
|
26
|
+
protected static defaultsUnitsToNA(): Promise<void>;
|
|
27
|
+
protected static throwsWithUnknownErrorCode(): Promise<void>;
|
|
28
|
+
protected static throwsWithErrorCodeNegativeOne(): Promise<void>;
|
|
29
|
+
protected static throwsWithErrorCodeNegativeTwo(): Promise<void>;
|
|
30
|
+
protected static throwsWithErrorCodeNegativeThree(): Promise<void>;
|
|
31
|
+
protected static throwsWithErrorCodeNegativeFour(): Promise<void>;
|
|
32
|
+
private static assertThrowsWithErrorCode;
|
|
24
33
|
private static assertThrowsWithEmptyChannelNames;
|
|
25
|
-
private static
|
|
34
|
+
private static assertThrowsInvalidSampleRateHz;
|
|
26
35
|
private static assertThrowsInvalidChannelFormat;
|
|
27
|
-
private static
|
|
36
|
+
private static assertThrowsInvalidMaxBufferedMs;
|
|
28
37
|
private static assertThrowsInvalidChunkSize;
|
|
29
38
|
private static createAndAssertThrows;
|
|
30
39
|
private static StringOutlet;
|
|
@@ -9,6 +9,7 @@ import { CHANNEL_FORMATS } from '../../consts.js';
|
|
|
9
9
|
import LslStreamOutlet from '../../impl/LslStreamOutlet.js';
|
|
10
10
|
import { TEST_SUPPORTED_CHANNEL_FORMATS, TEST_UNSUPPORTED_CHANNEL_FORMATS, } from '../../testDoubles/consts.js';
|
|
11
11
|
import generateRandomOutletOptions from '../../testDoubles/generateRandomOutletOptions.js';
|
|
12
|
+
import FakeLiblsl from '../../testDoubles/Liblsl/FakeLiblsl.js';
|
|
12
13
|
import FakeStreamInfo from '../../testDoubles/StreamInfo/FakeStreamInfo.js';
|
|
13
14
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
14
15
|
export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
@@ -23,12 +24,12 @@ export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
|
23
24
|
static async throwsWithEmptyChannelNames() {
|
|
24
25
|
await this.assertThrowsWithEmptyChannelNames();
|
|
25
26
|
}
|
|
26
|
-
static async
|
|
27
|
-
await this.LslStreamOutlet({
|
|
27
|
+
static async allowsZeroSampleRateHz() {
|
|
28
|
+
await this.LslStreamOutlet({ sampleRateHz: 0 });
|
|
28
29
|
}
|
|
29
|
-
static async
|
|
30
|
-
await this.
|
|
31
|
-
await this.
|
|
30
|
+
static async throwsWithInvalidSampleRateHz() {
|
|
31
|
+
await this.assertThrowsInvalidSampleRateHz(-1);
|
|
32
|
+
await this.assertThrowsInvalidSampleRateHz(-1.5);
|
|
32
33
|
}
|
|
33
34
|
static async throwsWithInvalidChannelFormat() {
|
|
34
35
|
await this.assertThrowsInvalidChannelFormat('invalid-format');
|
|
@@ -41,13 +42,13 @@ export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
|
41
42
|
await this.assertThrowsInvalidChunkSize(-1.5);
|
|
42
43
|
await this.assertThrowsInvalidChunkSize(1.5);
|
|
43
44
|
}
|
|
44
|
-
static async
|
|
45
|
-
await this.LslStreamOutlet({
|
|
45
|
+
static async allowsZeroMaxBufferedMs() {
|
|
46
|
+
await this.LslStreamOutlet({ maxBufferedMs: 0 });
|
|
46
47
|
}
|
|
47
|
-
static async
|
|
48
|
-
await this.
|
|
49
|
-
await this.
|
|
50
|
-
await this.
|
|
48
|
+
static async throwsWithInvalidMaxBufferedMs() {
|
|
49
|
+
await this.assertThrowsInvalidMaxBufferedMs(-1);
|
|
50
|
+
await this.assertThrowsInvalidMaxBufferedMs(-1.5);
|
|
51
|
+
await this.assertThrowsInvalidMaxBufferedMs(1.5);
|
|
51
52
|
}
|
|
52
53
|
static async throwsWithUnsupportedType() {
|
|
53
54
|
for (let unsupportedType of TEST_UNSUPPORTED_CHANNEL_FORMATS) {
|
|
@@ -71,7 +72,7 @@ export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
|
71
72
|
assert.isEqualDeep(this.fakeLiblsl.lastCreateOutletOptions, {
|
|
72
73
|
info: this.fakeLiblsl.streamInfo,
|
|
73
74
|
chunkSize: this.randomOutletOptions.chunkSize,
|
|
74
|
-
|
|
75
|
+
maxBufferedMs: this.randomOutletOptions.maxBufferedMs,
|
|
75
76
|
});
|
|
76
77
|
assert.isNumber(this.fakeLiblsl.lastPushSampleFloatTimestampOptions?.timestamp);
|
|
77
78
|
}
|
|
@@ -99,11 +100,11 @@ export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
|
99
100
|
assert.isEqualDeep(FakeStreamInfo.callsToConstructor[0], {
|
|
100
101
|
channelNames: this.randomOutletOptions.channelNames,
|
|
101
102
|
channelFormat: this.randomOutletOptions.channelFormat,
|
|
102
|
-
|
|
103
|
+
sampleRateHz: this.randomOutletOptions.sampleRateHz,
|
|
103
104
|
name: this.randomOutletOptions.name,
|
|
104
105
|
type: this.randomOutletOptions.type,
|
|
105
106
|
sourceId: this.randomOutletOptions.sourceId,
|
|
106
|
-
units: this.randomOutletOptions.
|
|
107
|
+
units: this.randomOutletOptions.units,
|
|
107
108
|
});
|
|
108
109
|
}
|
|
109
110
|
static async canOverrideClassInstantiatedInFactory() {
|
|
@@ -127,19 +128,55 @@ export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
|
127
128
|
const startMs = Date.now();
|
|
128
129
|
await this.LslStreamOutlet({ waitAfterConstructionMs: 10 });
|
|
129
130
|
const endMs = Date.now();
|
|
130
|
-
assert.isAbove(endMs - startMs,
|
|
131
|
+
assert.isAbove(endMs - startMs, 8);
|
|
132
|
+
}
|
|
133
|
+
static async defaultsMaxBufferedMsToSixMinutesInSeconds() {
|
|
134
|
+
const outlet = await this.LslStreamOutlet({ maxBufferedMs: undefined });
|
|
135
|
+
assert.isEqualDeep(outlet['maxBufferedMs'], 360 * 1000, 'Did not set maxBufferedMs as 6 minutes!');
|
|
136
|
+
}
|
|
137
|
+
static async defaultsManufacturerToNA() {
|
|
138
|
+
const outlet = await this.LslStreamOutlet({ manufacturer: undefined });
|
|
139
|
+
assert.isEqualDeep(outlet['manufacturer'], 'N/A', 'Did not set manufacturer as N/A!');
|
|
140
|
+
}
|
|
141
|
+
static async defaultsUnitsToNA() {
|
|
142
|
+
const outlet = await this.LslStreamOutlet({ units: undefined });
|
|
143
|
+
assert.isEqualDeep(outlet['units'], 'N/A', 'Did not set units as N/A!');
|
|
144
|
+
}
|
|
145
|
+
static async throwsWithUnknownErrorCode() {
|
|
146
|
+
await this.assertThrowsWithErrorCode(-999, `An unknown liblsl error has occurred!`);
|
|
147
|
+
}
|
|
148
|
+
static async throwsWithErrorCodeNegativeOne() {
|
|
149
|
+
await this.assertThrowsWithErrorCode(-1, `The liblsl operation failed due to a timeout!`);
|
|
150
|
+
}
|
|
151
|
+
static async throwsWithErrorCodeNegativeTwo() {
|
|
152
|
+
await this.assertThrowsWithErrorCode(-2, `The liblsl stream has been lost!`);
|
|
153
|
+
}
|
|
154
|
+
static async throwsWithErrorCodeNegativeThree() {
|
|
155
|
+
await this.assertThrowsWithErrorCode(-3, 'A liblsl argument was incorrectly specified!');
|
|
156
|
+
}
|
|
157
|
+
static async throwsWithErrorCodeNegativeFour() {
|
|
158
|
+
await this.assertThrowsWithErrorCode(-4, 'An internal liblsl error has occurred!');
|
|
159
|
+
}
|
|
160
|
+
static async assertThrowsWithErrorCode(errorCode, message) {
|
|
161
|
+
FakeLiblsl.fakeErrorCode = errorCode;
|
|
162
|
+
const outlet = Math.random() > 0.5
|
|
163
|
+
? await this.FloatOutlet()
|
|
164
|
+
: await this.StringOutlet();
|
|
165
|
+
assert.doesThrow(() => {
|
|
166
|
+
outlet.pushSample([1.0]);
|
|
167
|
+
}, message);
|
|
131
168
|
}
|
|
132
169
|
static async assertThrowsWithEmptyChannelNames() {
|
|
133
170
|
await this.createAndAssertThrows('channelNames', [], `Invalid channel count! Must be a positive integer, not: 0.`);
|
|
134
171
|
}
|
|
135
|
-
static async
|
|
136
|
-
await this.createAndAssertThrows('
|
|
172
|
+
static async assertThrowsInvalidSampleRateHz(sampleRateHz) {
|
|
173
|
+
await this.createAndAssertThrows('sampleRateHz', sampleRateHz, `Invalid sample rate! Must be a positive number or zero, not: ${sampleRateHz}`);
|
|
137
174
|
}
|
|
138
175
|
static async assertThrowsInvalidChannelFormat(channelFormat) {
|
|
139
176
|
await this.createAndAssertThrows('channelFormat', channelFormat, `Invalid channel format! Must be one of: ${CHANNEL_FORMATS.join(', ')}, not ${channelFormat}.`);
|
|
140
177
|
}
|
|
141
|
-
static async
|
|
142
|
-
await this.createAndAssertThrows('
|
|
178
|
+
static async assertThrowsInvalidMaxBufferedMs(maxBufferedMs) {
|
|
179
|
+
await this.createAndAssertThrows('maxBufferedMs', maxBufferedMs, `Invalid max buffered! Must be a positive integer or zero, not: ${maxBufferedMs}`);
|
|
143
180
|
}
|
|
144
181
|
static async assertThrowsInvalidChunkSize(chunkSize) {
|
|
145
182
|
await this.createAndAssertThrows('chunkSize', chunkSize, `Invalid chunk size! Must be a positive integer or zero, not: ${chunkSize}`);
|
|
@@ -166,10 +203,10 @@ __decorate([
|
|
|
166
203
|
], LslStreamOutletTest, "throwsWithEmptyChannelNames", null);
|
|
167
204
|
__decorate([
|
|
168
205
|
test()
|
|
169
|
-
], LslStreamOutletTest, "
|
|
206
|
+
], LslStreamOutletTest, "allowsZeroSampleRateHz", null);
|
|
170
207
|
__decorate([
|
|
171
208
|
test()
|
|
172
|
-
], LslStreamOutletTest, "
|
|
209
|
+
], LslStreamOutletTest, "throwsWithInvalidSampleRateHz", null);
|
|
173
210
|
__decorate([
|
|
174
211
|
test()
|
|
175
212
|
], LslStreamOutletTest, "throwsWithInvalidChannelFormat", null);
|
|
@@ -181,10 +218,10 @@ __decorate([
|
|
|
181
218
|
], LslStreamOutletTest, "throwsWithInvalidChunkSize", null);
|
|
182
219
|
__decorate([
|
|
183
220
|
test()
|
|
184
|
-
], LslStreamOutletTest, "
|
|
221
|
+
], LslStreamOutletTest, "allowsZeroMaxBufferedMs", null);
|
|
185
222
|
__decorate([
|
|
186
223
|
test()
|
|
187
|
-
], LslStreamOutletTest, "
|
|
224
|
+
], LslStreamOutletTest, "throwsWithInvalidMaxBufferedMs", null);
|
|
188
225
|
__decorate([
|
|
189
226
|
test()
|
|
190
227
|
], LslStreamOutletTest, "throwsWithUnsupportedType", null);
|
|
@@ -216,6 +253,30 @@ __decorate([
|
|
|
216
253
|
__decorate([
|
|
217
254
|
test()
|
|
218
255
|
], LslStreamOutletTest, "waitsForTenMsAfterConstructionBeforeReturning", null);
|
|
256
|
+
__decorate([
|
|
257
|
+
test()
|
|
258
|
+
], LslStreamOutletTest, "defaultsMaxBufferedMsToSixMinutesInSeconds", null);
|
|
259
|
+
__decorate([
|
|
260
|
+
test()
|
|
261
|
+
], LslStreamOutletTest, "defaultsManufacturerToNA", null);
|
|
262
|
+
__decorate([
|
|
263
|
+
test()
|
|
264
|
+
], LslStreamOutletTest, "defaultsUnitsToNA", null);
|
|
265
|
+
__decorate([
|
|
266
|
+
test()
|
|
267
|
+
], LslStreamOutletTest, "throwsWithUnknownErrorCode", null);
|
|
268
|
+
__decorate([
|
|
269
|
+
test()
|
|
270
|
+
], LslStreamOutletTest, "throwsWithErrorCodeNegativeOne", null);
|
|
271
|
+
__decorate([
|
|
272
|
+
test()
|
|
273
|
+
], LslStreamOutletTest, "throwsWithErrorCodeNegativeTwo", null);
|
|
274
|
+
__decorate([
|
|
275
|
+
test()
|
|
276
|
+
], LslStreamOutletTest, "throwsWithErrorCodeNegativeThree", null);
|
|
277
|
+
__decorate([
|
|
278
|
+
test()
|
|
279
|
+
], LslStreamOutletTest, "throwsWithErrorCodeNegativeFour", null);
|
|
219
280
|
class CheckingOutlet extends LslStreamOutlet {
|
|
220
281
|
constructor(info, options) {
|
|
221
282
|
super(info, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamOutlet.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,20 @@ export default class LslWebSocketBridgeTest extends AbstractPackageTest {
|
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
5
|
protected static createsInstance(): Promise<void>;
|
|
6
|
+
protected static createsLslStreamInlet(): Promise<void>;
|
|
7
|
+
protected static activateCallsStartPullingOnInlet(): Promise<void>;
|
|
8
|
+
protected static deactivateCallsStopPullingOnInlet(): Promise<void>;
|
|
9
|
+
protected static destroyCallsDestroyOnInlet(): Promise<void>;
|
|
10
|
+
protected static createsWebSocketServer(): Promise<void>;
|
|
11
|
+
protected static activateSendsDataToWebSocketClients(): Promise<void>;
|
|
12
|
+
protected static doesNotSendToClientsThatAreNotReady(): Promise<void>;
|
|
13
|
+
protected static destroyClosesWebSocketServer(): Promise<void>;
|
|
14
|
+
protected static throwsIfActivateIsCalledAfterDestroy(): Promise<void>;
|
|
15
|
+
private static activate;
|
|
16
|
+
private static deactivate;
|
|
17
|
+
private static destroy;
|
|
18
|
+
private static simulateOnDataCallback;
|
|
19
|
+
private static readonly wssPort;
|
|
20
|
+
private static readonly baseOptions;
|
|
6
21
|
private static LslWebSocketBridge;
|
|
7
22
|
}
|