@neurodevs/node-lsl 12.0.5 → 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.
Files changed (122) hide show
  1. package/README.md +2 -5
  2. package/build/__tests__/AbstractPackageTest.d.ts +9 -3
  3. package/build/__tests__/AbstractPackageTest.js +37 -3
  4. package/build/__tests__/AbstractPackageTest.js.map +1 -1
  5. package/build/__tests__/impl/LiblslAdapter.test.d.ts +6 -0
  6. package/build/__tests__/impl/LiblslAdapter.test.js +133 -12
  7. package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -1
  8. package/build/__tests__/impl/LslEventMarkerOutlet.test.js +5 -5
  9. package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -1
  10. package/build/__tests__/impl/LslStreamInfo.test.js +3 -3
  11. package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
  12. package/build/__tests__/impl/LslStreamInlet.test.d.ts +30 -2
  13. package/build/__tests__/impl/LslStreamInlet.test.js +181 -18
  14. package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
  15. package/build/__tests__/impl/LslStreamOutlet.test.d.ts +16 -7
  16. package/build/__tests__/impl/LslStreamOutlet.test.js +84 -23
  17. package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
  18. package/build/__tests__/impl/LslWebSocketBridge.test.d.ts +15 -0
  19. package/build/__tests__/impl/LslWebSocketBridge.test.js +112 -2
  20. package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
  21. package/build/assertions.d.ts +3 -3
  22. package/build/assertions.js +6 -6
  23. package/build/assertions.js.map +1 -1
  24. package/build/handleError.d.ts +8 -0
  25. package/build/handleError.js +25 -0
  26. package/build/handleError.js.map +1 -0
  27. package/build/impl/LiblslAdapter.d.ts +128 -13
  28. package/build/impl/LiblslAdapter.js +149 -71
  29. package/build/impl/LiblslAdapter.js.map +1 -1
  30. package/build/impl/LslEventMarkerOutlet.d.ts +4 -1
  31. package/build/impl/LslEventMarkerOutlet.js +3 -3
  32. package/build/impl/LslEventMarkerOutlet.js.map +1 -1
  33. package/build/impl/LslStreamInfo.d.ts +3 -3
  34. package/build/impl/LslStreamInfo.js +5 -5
  35. package/build/impl/LslStreamInfo.js.map +1 -1
  36. package/build/impl/LslStreamInlet.d.ts +52 -14
  37. package/build/impl/LslStreamInlet.js +157 -20
  38. package/build/impl/LslStreamInlet.js.map +1 -1
  39. package/build/impl/LslStreamOutlet.d.ts +13 -13
  40. package/build/impl/LslStreamOutlet.js +22 -21
  41. package/build/impl/LslStreamOutlet.js.map +1 -1
  42. package/build/impl/LslWebSocketBridge.d.ts +35 -3
  43. package/build/impl/LslWebSocketBridge.js +66 -3
  44. package/build/impl/LslWebSocketBridge.js.map +1 -1
  45. package/build/index.d.ts +0 -1
  46. package/build/index.js +0 -1
  47. package/build/index.js.map +1 -1
  48. package/build/scripts/runLslStreamOutlet.js +2 -3
  49. package/build/scripts/runLslStreamOutlet.js.map +1 -1
  50. package/build/scripts/runOutletToInlet.d.ts +1 -0
  51. package/build/scripts/runOutletToInlet.js +45 -0
  52. package/build/scripts/runOutletToInlet.js.map +1 -0
  53. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.d.ts +1 -2
  54. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -1
  55. package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.d.ts +2 -2
  56. package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +1 -1
  57. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +1 -2
  58. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -1
  59. package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +15 -3
  60. package/build/testDoubles/Liblsl/FakeLiblsl.js +42 -0
  61. package/build/testDoubles/Liblsl/FakeLiblsl.js.map +1 -1
  62. package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +1 -1
  63. package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +1 -1
  64. package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +12 -3
  65. package/build/testDoubles/StreamInlet/FakeStreamInlet.js +25 -5
  66. package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -1
  67. package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +3 -3
  68. package/build/testDoubles/StreamInlet/SpyStreamInlet.js +2 -2
  69. package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -1
  70. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.d.ts +4 -4
  71. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +6 -6
  72. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -1
  73. package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.d.ts +6 -0
  74. package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js +15 -0
  75. package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js.map +1 -1
  76. package/build/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.d.ts +4 -0
  77. package/build/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.js +7 -0
  78. package/build/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.js.map +1 -0
  79. package/build/testDoubles/WebSockets/FakeWebSocket.d.ts +10 -0
  80. package/build/testDoubles/WebSockets/FakeWebSocket.js +14 -0
  81. package/build/testDoubles/WebSockets/FakeWebSocket.js.map +1 -0
  82. package/build/testDoubles/WebSockets/FakeWebSocketServer.d.ts +13 -0
  83. package/build/testDoubles/WebSockets/FakeWebSocketServer.js +22 -0
  84. package/build/testDoubles/WebSockets/FakeWebSocketServer.js.map +1 -0
  85. package/build/testDoubles/generateRandomOutletOptions.js +3 -3
  86. package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
  87. package/package.json +5 -3
  88. package/src/__tests__/AbstractPackageTest.ts +52 -4
  89. package/src/__tests__/impl/LiblslAdapter.test.ts +181 -16
  90. package/src/__tests__/impl/LslEventMarkerOutlet.test.ts +5 -5
  91. package/src/__tests__/impl/LslStreamInfo.test.ts +3 -3
  92. package/src/__tests__/impl/LslStreamInlet.test.ts +253 -20
  93. package/src/__tests__/impl/LslStreamOutlet.test.ts +111 -24
  94. package/src/__tests__/impl/LslWebSocketBridge.test.ts +163 -5
  95. package/src/assertions.ts +7 -7
  96. package/src/handleError.ts +24 -0
  97. package/src/impl/LiblslAdapter.ts +322 -97
  98. package/src/impl/LslEventMarkerOutlet.ts +8 -4
  99. package/src/impl/LslStreamInfo.ts +9 -9
  100. package/src/impl/LslStreamInlet.ts +233 -25
  101. package/src/impl/LslStreamOutlet.ts +43 -33
  102. package/src/impl/LslWebSocketBridge.ts +115 -5
  103. package/src/index.ts +0 -2
  104. package/src/scripts/runLslStreamOutlet.ts +2 -3
  105. package/src/scripts/runOutletToInlet.ts +53 -0
  106. package/src/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.ts +4 -2
  107. package/src/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.ts +5 -2
  108. package/src/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.ts +4 -2
  109. package/src/testDoubles/Liblsl/FakeLiblsl.ts +61 -1
  110. package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +1 -1
  111. package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +36 -5
  112. package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +7 -2
  113. package/src/testDoubles/StreamOutlet/FakeStreamOutlet.ts +7 -7
  114. package/src/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.ts +18 -0
  115. package/src/testDoubles/StreamTransportBridge/SpyLslWebSocketBridge.ts +9 -0
  116. package/src/testDoubles/WebSockets/FakeWebSocket.ts +17 -0
  117. package/src/testDoubles/WebSockets/FakeWebSocketServer.ts +32 -0
  118. package/src/testDoubles/generateRandomOutletOptions.ts +3 -3
  119. package/build/types.d.ts +0 -95
  120. package/build/types.js +0 -2
  121. package/build/types.js.map +0 -1
  122. 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
- sampleRate: 0,
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
- maxBuffered: this.maxBuffered,
43
+ maxBufferedMs: this.maxBufferedMs / 1000,
43
44
  }, 'Should have called createInlet!');
44
45
  }
45
- static async flushSamplesCallsLslBinding() {
46
- this.instance.flushSamples();
47
- assert.isEqualDeep(this.fakeLiblsl.lastFlushInletOptions, { inlet: this.instance.getBoundInlet() }, 'Should have called flushInlet!');
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 LslStreamInlet(options) {
50
- const defaultOptions = {
51
- channelNames: this.channelNames,
52
- channelFormat: 'float32',
53
- sampleRate: 0,
54
- name: this.name_,
55
- type: this.type,
56
- sourceId: this.sourceId,
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
- maxBuffered: this.maxBuffered,
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, "flushSamplesCallsLslBinding", null);
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":"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"}
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 '../../types.js';
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 allowsZeroSampleRate(): Promise<void>;
8
- protected static throwsWithInvalidSampleRate(): Promise<void>;
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 allowsZeroMaxBuffered(): Promise<void>;
13
- protected static throwsWithInvalidMaxBuffered(): Promise<void>;
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 assertThrowsInvalidSampleRate;
34
+ private static assertThrowsInvalidSampleRateHz;
26
35
  private static assertThrowsInvalidChannelFormat;
27
- private static assertThrowsInvalidMaxBuffered;
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 allowsZeroSampleRate() {
27
- await this.LslStreamOutlet({ sampleRate: 0 });
27
+ static async allowsZeroSampleRateHz() {
28
+ await this.LslStreamOutlet({ sampleRateHz: 0 });
28
29
  }
29
- static async throwsWithInvalidSampleRate() {
30
- await this.assertThrowsInvalidSampleRate(-1);
31
- await this.assertThrowsInvalidSampleRate(-1.5);
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 allowsZeroMaxBuffered() {
45
- await this.LslStreamOutlet({ maxBuffered: 0 });
45
+ static async allowsZeroMaxBufferedMs() {
46
+ await this.LslStreamOutlet({ maxBufferedMs: 0 });
46
47
  }
47
- static async throwsWithInvalidMaxBuffered() {
48
- await this.assertThrowsInvalidMaxBuffered(-1);
49
- await this.assertThrowsInvalidMaxBuffered(-1.5);
50
- await this.assertThrowsInvalidMaxBuffered(1.5);
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
- maxBuffered: this.randomOutletOptions.maxBuffered,
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
- sampleRate: this.randomOutletOptions.sampleRate,
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.unit,
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, 10);
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 assertThrowsInvalidSampleRate(sampleRate) {
136
- await this.createAndAssertThrows('sampleRate', sampleRate, `Invalid sample rate! Must be a positive number or zero, not: ${sampleRate}`);
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 assertThrowsInvalidMaxBuffered(maxBuffered) {
142
- await this.createAndAssertThrows('maxBuffered', maxBuffered, `Invalid max buffered! Must be a positive integer or zero, not: ${maxBuffered}`);
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, "allowsZeroSampleRate", null);
206
+ ], LslStreamOutletTest, "allowsZeroSampleRateHz", null);
170
207
  __decorate([
171
208
  test()
172
- ], LslStreamOutletTest, "throwsWithInvalidSampleRate", null);
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, "allowsZeroMaxBuffered", null);
221
+ ], LslStreamOutletTest, "allowsZeroMaxBufferedMs", null);
185
222
  __decorate([
186
223
  test()
187
- ], LslStreamOutletTest, "throwsWithInvalidMaxBuffered", null);
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":"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"}
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
  }