@neurodevs/node-lsl 19.0.0 → 22.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 +6 -6
- package/build/__tests__/AbstractPackageTest.d.ts +12 -11
- package/build/__tests__/AbstractPackageTest.js +32 -34
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/{BleDeviceController.test.d.ts → BleGattController.test.d.ts} +3 -3
- package/build/__tests__/impl/{BleDeviceController.test.js → BleGattController.test.js} +68 -70
- package/build/__tests__/impl/BleGattController.test.js.map +1 -0
- package/build/__tests__/impl/BleObserverController.test.d.ts +12 -0
- package/build/__tests__/impl/BleObserverController.test.js +62 -0
- package/build/__tests__/impl/BleObserverController.test.js.map +1 -0
- package/build/__tests__/impl/{LslEventMarkerEmitter.test.d.ts → LslEventMarkerOutlet.test.d.ts} +3 -3
- package/build/__tests__/impl/{LslEventMarkerEmitter.test.js → LslEventMarkerOutlet.test.js} +45 -46
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
- package/build/__tests__/impl/LslJsonOutlet.test.d.ts +14 -0
- package/build/__tests__/impl/LslJsonOutlet.test.js +118 -0
- package/build/__tests__/impl/LslJsonOutlet.test.js.map +1 -0
- package/build/__tests__/impl/LslStreamInfo.test.js +2 -3
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +3 -5
- package/build/__tests__/impl/LslStreamInlet.test.js +13 -47
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -1
- package/build/__tests__/impl/LslStreamOutlet.test.js +7 -13
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -1
- package/build/__tests__/impl/LslWebSocketBridge.test.js +9 -11
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -1
- package/build/__tests__/impl/UsbDeviceController.test.js.map +1 -1
- package/build/__tests__/impl/WindowedClockRegressor.test.js +1 -1
- package/build/__tests__/impl/WindowedClockRegressor.test.js.map +1 -1
- package/build/assertions.js +1 -1
- package/build/assertions.js.map +1 -1
- package/build/impl/LslEventMarkerOutlet.d.ts +35 -0
- package/build/impl/{LslEventMarkerEmitter.js → LslEventMarkerOutlet.js} +2 -2
- package/build/impl/LslEventMarkerOutlet.js.map +1 -0
- package/build/impl/LslJsonOutlet.d.ts +33 -0
- package/build/impl/LslJsonOutlet.js +44 -0
- package/build/impl/LslJsonOutlet.js.map +1 -0
- package/build/impl/LslStreamInfo.d.ts +7 -7
- package/build/impl/LslStreamInfo.js.map +1 -1
- package/build/impl/LslStreamInlet.d.ts +63 -21
- package/build/impl/LslStreamInlet.js +221 -65
- package/build/impl/LslStreamInlet.js.map +1 -1
- package/build/impl/LslStreamOutlet.d.ts +16 -16
- package/build/impl/LslStreamOutlet.js +32 -36
- package/build/impl/LslStreamOutlet.js.map +1 -1
- package/build/impl/LslWebSocketBridge.d.ts +10 -10
- package/build/impl/LslWebSocketBridge.js.map +1 -1
- package/build/impl/clocks/WindowedClockRegressor.js.map +1 -0
- package/build/impl/controllers/{BleDeviceController.d.ts → BleGattController.d.ts} +10 -10
- package/build/impl/controllers/{BleDeviceController.js → BleGattController.js} +19 -19
- package/build/impl/controllers/BleGattController.js.map +1 -0
- package/build/impl/controllers/BleObserverController.d.ts +20 -0
- package/build/impl/controllers/BleObserverController.js +37 -0
- package/build/impl/controllers/BleObserverController.js.map +1 -0
- package/build/impl/controllers/UsbDeviceController.d.ts +9 -9
- package/build/impl/controllers/UsbDeviceController.js +7 -7
- package/build/impl/controllers/UsbDeviceController.js.map +1 -1
- package/build/index.d.ts +43 -31
- package/build/index.js +52 -39
- package/build/index.js.map +1 -1
- package/build/scripts/{runLslEventMarkerEmitter.js → runEventMarkerOutlet.js} +4 -3
- package/build/scripts/runEventMarkerOutlet.js.map +1 -0
- package/build/scripts/{runLslStreamOutlet.js → runLslOutlet.js} +1 -1
- package/build/scripts/runLslOutlet.js.map +1 -0
- package/build/scripts/runMuse.js +2 -2
- package/build/scripts/runMuse.js.map +1 -1
- package/build/testDoubles/{BleController/FakeBleController.d.ts → BleGatt/FakeBleGatt.d.ts} +6 -6
- package/build/testDoubles/{BleController/FakeBleController.js → BleGatt/FakeBleGatt.js} +8 -8
- package/build/testDoubles/BleGatt/FakeBleGatt.js.map +1 -0
- package/build/testDoubles/{BleController/SpyBleController.d.ts → BleGatt/SpyBleGatt.d.ts} +4 -4
- package/build/testDoubles/{BleController/SpyBleController.js → BleGatt/SpyBleGatt.js} +3 -3
- package/build/testDoubles/BleGatt/SpyBleGatt.js.map +1 -0
- package/build/testDoubles/BleObserver/FakeBleObserver.d.ts +10 -0
- package/build/testDoubles/BleObserver/FakeBleObserver.js +20 -0
- package/build/testDoubles/BleObserver/FakeBleObserver.js.map +1 -0
- package/build/testDoubles/ClockRegressor/FakeClockRegressor.d.ts +1 -1
- package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +4 -4
- package/build/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.js → EventMarkerOutlet/FakeEventMarkerOutlet.js} +7 -7
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +10 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js +23 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts +9 -0
- package/build/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +2 -2
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/JsonOutlet/FakeJsonOutlet.d.ts +10 -0
- package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js +20 -0
- package/build/testDoubles/JsonOutlet/FakeJsonOutlet.js.map +1 -0
- package/build/testDoubles/{StreamInfo/FakeStreamInfo.d.ts → LslInfo/FakeLslInfo.d.ts} +4 -4
- package/build/testDoubles/{StreamInfo/FakeStreamInfo.js → LslInfo/FakeLslInfo.js} +7 -7
- package/build/testDoubles/LslInfo/FakeLslInfo.js.map +1 -0
- package/build/testDoubles/LslInfo/SpyLslInfo.d.ts +10 -0
- package/build/testDoubles/{StreamInfo/SpyStreamInfo.js → LslInfo/SpyLslInfo.js} +4 -4
- package/build/testDoubles/LslInfo/SpyLslInfo.js.map +1 -0
- package/build/testDoubles/{StreamInlet/FakeStreamInlet.d.ts → LslInlet/FakeLslInlet.d.ts} +4 -4
- package/build/testDoubles/{StreamInlet/FakeStreamInlet.js → LslInlet/FakeLslInlet.js} +12 -11
- package/build/testDoubles/LslInlet/FakeLslInlet.js.map +1 -0
- package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +4 -0
- package/build/testDoubles/{StreamInlet/SpyStreamInlet.js → LslInlet/SpyLslInlet.js} +2 -2
- package/build/testDoubles/LslInlet/SpyLslInlet.js.map +1 -0
- package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.d.ts → LslOutlet/FakeLslOutlet.d.ts} +5 -5
- package/build/testDoubles/{StreamOutlet/FakeStreamOutlet.js → LslOutlet/FakeLslOutlet.js} +8 -8
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +1 -0
- package/build/testDoubles/LslWsBridge/FakeLslWsBridge.d.ts +14 -0
- package/build/testDoubles/{WebSocketBridge/FakeWebSocketBridge.js → LslWsBridge/FakeLslWsBridge.js} +14 -14
- package/build/testDoubles/LslWsBridge/FakeLslWsBridge.js.map +1 -0
- package/build/testDoubles/LslWsBridge/SpyLslWsBridge.d.ts +4 -0
- package/build/testDoubles/{WebSocketBridge/SpyLslWebSocketBridge.js → LslWsBridge/SpyLslWsBridge.js} +2 -2
- package/build/testDoubles/LslWsBridge/SpyLslWsBridge.js.map +1 -0
- package/build/testDoubles/UsbDevice/FakeUsbDevice.d.ts +12 -0
- package/build/testDoubles/UsbDevice/FakeUsbDevice.js +25 -0
- package/build/testDoubles/UsbDevice/FakeUsbDevice.js.map +1 -0
- package/build/testDoubles/consts.d.ts +2 -12
- package/build/testDoubles/consts.js +0 -20
- package/build/testDoubles/consts.js.map +1 -1
- package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/package.json +5 -4
- package/src/__tests__/AbstractPackageTest.ts +35 -42
- package/src/__tests__/impl/{BleDeviceController.test.ts → BleGattController.test.ts} +45 -47
- package/src/__tests__/impl/BleObserverController.test.ts +72 -0
- package/src/__tests__/impl/{LslEventMarkerEmitter.test.ts → LslEventMarkerOutlet.test.ts} +33 -37
- package/src/__tests__/impl/LslJsonOutlet.test.ts +135 -0
- package/src/__tests__/impl/LslStreamInfo.test.ts +8 -9
- package/src/__tests__/impl/LslStreamInlet.test.ts +21 -79
- package/src/__tests__/impl/LslStreamOutlet.test.ts +17 -25
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +15 -19
- package/src/__tests__/impl/UsbDeviceController.test.ts +2 -2
- package/src/__tests__/impl/WindowedClockRegressor.test.ts +1 -1
- package/src/assertions.ts +1 -2
- package/src/impl/{LslEventMarkerEmitter.ts → LslEventMarkerOutlet.ts} +17 -17
- package/src/impl/LslJsonOutlet.ts +87 -0
- package/src/impl/LslStreamInfo.ts +7 -9
- package/src/impl/LslStreamInlet.ts +305 -81
- package/src/impl/LslStreamOutlet.ts +62 -59
- package/src/impl/LslWebSocketBridge.ts +15 -18
- package/src/impl/controllers/{BleDeviceController.ts → BleGattController.ts} +23 -28
- package/src/impl/controllers/BleObserverController.ts +62 -0
- package/src/impl/controllers/UsbDeviceController.ts +14 -16
- package/src/index.ts +64 -44
- package/src/scripts/{runLslEventMarkerEmitter.ts → runEventMarkerOutlet.ts} +3 -2
- package/src/scripts/runMuse.ts +2 -2
- package/src/testDoubles/{BleController/FakeBleController.ts → BleGatt/FakeBleGatt.ts} +14 -14
- package/src/testDoubles/{BleController/SpyBleController.ts → BleGatt/SpyBleGatt.ts} +5 -5
- package/src/testDoubles/BleObserver/FakeBleObserver.ts +28 -0
- package/src/testDoubles/ClockRegressor/FakeClockRegressor.ts +1 -1
- package/src/testDoubles/{EventMarkerEmitter/FakeEventMarkerEmitter.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +11 -11
- package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +31 -0
- package/src/testDoubles/{EventMarkerEmitter/ThrowingEventMarkerEmitter.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +5 -5
- package/src/testDoubles/JsonOutlet/FakeJsonOutlet.ts +25 -0
- package/src/testDoubles/{StreamInfo/FakeStreamInfo.ts → LslInfo/FakeLslInfo.ts} +9 -9
- package/src/testDoubles/{StreamInfo/SpyStreamInfo.ts → LslInfo/SpyLslInfo.ts} +5 -5
- package/src/testDoubles/{StreamInlet/FakeStreamInlet.ts → LslInlet/FakeLslInlet.ts} +15 -14
- package/src/testDoubles/LslInlet/SpyLslInlet.ts +10 -0
- package/src/testDoubles/{StreamOutlet/FakeStreamOutlet.ts → LslOutlet/FakeLslOutlet.ts} +11 -14
- package/src/testDoubles/{WebSocketBridge/FakeWebSocketBridge.ts → LslWsBridge/FakeLslWsBridge.ts} +19 -19
- package/src/testDoubles/LslWsBridge/SpyLslWsBridge.ts +9 -0
- package/src/testDoubles/UsbDevice/FakeUsbDevice.ts +34 -0
- package/src/testDoubles/consts.ts +3 -23
- package/src/testDoubles/generateRandomOutletOptions.ts +2 -2
- package/build/__tests__/impl/BleDeviceController.test.js.map +0 -1
- package/build/__tests__/impl/LslEventMarkerEmitter.test.js.map +0 -1
- package/build/consts.d.ts +0 -11
- package/build/consts.js +0 -21
- package/build/consts.js.map +0 -1
- package/build/impl/LslEventMarkerEmitter.d.ts +0 -35
- package/build/impl/LslEventMarkerEmitter.js.map +0 -1
- package/build/impl/WindowedClockRegressor.js.map +0 -1
- package/build/impl/controllers/BleDeviceController.js.map +0 -1
- package/build/impl/workers/inlet/LslStreamInlet.worker.d.ts +0 -22
- package/build/impl/workers/inlet/LslStreamInlet.worker.js +0 -42
- package/build/impl/workers/inlet/LslStreamInlet.worker.js.map +0 -1
- package/build/impl/workers/inlet/StreamInletWorker.d.ts +0 -73
- package/build/impl/workers/inlet/StreamInletWorker.js +0 -253
- package/build/impl/workers/inlet/StreamInletWorker.js.map +0 -1
- package/build/impl/workers/outlet/LslStreamOutlet.worker.d.ts +0 -32
- package/build/impl/workers/outlet/LslStreamOutlet.worker.js +0 -82
- package/build/impl/workers/outlet/LslStreamOutlet.worker.js.map +0 -1
- package/build/scripts/discoverMuse.js +0 -40
- package/build/scripts/discoverMuse.js.map +0 -1
- package/build/scripts/runLslEventMarkerEmitter.js.map +0 -1
- package/build/scripts/runLslStreamOutlet.d.ts +0 -1
- package/build/scripts/runLslStreamOutlet.js.map +0 -1
- package/build/scripts/testDestroyOutlet.d.ts +0 -1
- package/build/scripts/testDestroyOutlet.js +0 -4
- package/build/scripts/testDestroyOutlet.js.map +0 -1
- package/build/testDoubles/BleController/FakeBleController.js.map +0 -1
- package/build/testDoubles/BleController/SpyBleController.js.map +0 -1
- package/build/testDoubles/EventMarkerEmitter/FakeEventMarkerEmitter.js.map +0 -1
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.d.ts +0 -10
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js +0 -23
- package/build/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.js.map +0 -1
- package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.d.ts +0 -9
- package/build/testDoubles/EventMarkerEmitter/ThrowingEventMarkerEmitter.js.map +0 -1
- package/build/testDoubles/StreamInfo/FakeStreamInfo.js.map +0 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +0 -10
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +0 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +0 -1
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +0 -4
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +0 -1
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +0 -1
- package/build/testDoubles/UsbController/FakeUsbController.d.ts +0 -12
- package/build/testDoubles/UsbController/FakeUsbController.js +0 -25
- package/build/testDoubles/UsbController/FakeUsbController.js.map +0 -1
- package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.d.ts +0 -14
- package/build/testDoubles/WebSocketBridge/FakeWebSocketBridge.js.map +0 -1
- package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.d.ts +0 -4
- package/build/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.js.map +0 -1
- package/build/testDoubles/WorkerThreads/FakeWorker.d.ts +0 -27
- package/build/testDoubles/WorkerThreads/FakeWorker.js +0 -67
- package/build/testDoubles/WorkerThreads/FakeWorker.js.map +0 -1
- package/src/consts.ts +0 -21
- package/src/impl/workers/inlet/LslStreamInlet.worker.ts +0 -74
- package/src/impl/workers/inlet/StreamInletWorker.ts +0 -348
- package/src/impl/workers/outlet/LslStreamOutlet.worker.ts +0 -144
- package/src/scripts/discoverMuse.ts +0 -50
- package/src/scripts/testDestroyOutlet.ts +0 -5
- package/src/testDoubles/EventMarkerEmitter/SpyEventMarkerEmitter.ts +0 -31
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +0 -10
- package/src/testDoubles/UsbController/FakeUsbController.ts +0 -34
- package/src/testDoubles/WebSocketBridge/SpyLslWebSocketBridge.ts +0 -9
- package/src/testDoubles/WorkerThreads/FakeWorker.ts +0 -99
- /package/build/impl/{WindowedClockRegressor.d.ts → clocks/WindowedClockRegressor.d.ts} +0 -0
- /package/build/impl/{WindowedClockRegressor.js → clocks/WindowedClockRegressor.js} +0 -0
- /package/build/scripts/{discoverMuse.d.ts → runEventMarkerOutlet.d.ts} +0 -0
- /package/build/scripts/{runLslEventMarkerEmitter.d.ts → runLslOutlet.d.ts} +0 -0
- /package/src/impl/{WindowedClockRegressor.ts → clocks/WindowedClockRegressor.ts} +0 -0
- /package/src/scripts/{runLslStreamOutlet.ts → runLslOutlet.ts} +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
8
|
+
import BleObserverController from '../../impl/controllers/BleObserverController.js';
|
|
9
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
10
|
+
import { FakeLibndx } from '@neurodevs/ndx-native';
|
|
11
|
+
export default class BleObserverControllerTest extends AbstractPackageTest {
|
|
12
|
+
static instance;
|
|
13
|
+
static async beforeEach() {
|
|
14
|
+
await super.beforeEach();
|
|
15
|
+
this.instance = this.BleObserverController();
|
|
16
|
+
}
|
|
17
|
+
static async createsInstance() {
|
|
18
|
+
assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
19
|
+
}
|
|
20
|
+
static async startObservingCreatesBleObserverBackend() {
|
|
21
|
+
await this.startObserving();
|
|
22
|
+
assert.isEqualDeep(FakeLibndx.callsToCreateBleObserver[0], {
|
|
23
|
+
deviceUuid: this.deviceUuid,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
static async startObservingStartsBleObserverBackend() {
|
|
27
|
+
await this.startObserving();
|
|
28
|
+
const { deviceUuid, onAdvertisement } = FakeLibndx.callsToStartBleObserver[0];
|
|
29
|
+
assert.isEqual(deviceUuid, this.deviceUuid, 'Did not pass deviceUuid to startBleObserverBackend!');
|
|
30
|
+
assert.isFunction(onAdvertisement, 'Did not pass onAdvertisement to startBleObserverBackend!');
|
|
31
|
+
}
|
|
32
|
+
static async stopObservingStopsBleObserverBackend() {
|
|
33
|
+
await this.stopObserving();
|
|
34
|
+
assert.isEqualDeep(FakeLibndx.callsToStopBleObserver[0], {
|
|
35
|
+
deviceUuid: this.deviceUuid,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
static async startObserving() {
|
|
39
|
+
await this.instance.startObserving();
|
|
40
|
+
}
|
|
41
|
+
static async stopObserving() {
|
|
42
|
+
await this.instance.stopObserving();
|
|
43
|
+
}
|
|
44
|
+
static BleObserverController() {
|
|
45
|
+
return BleObserverController.Create({
|
|
46
|
+
deviceUuid: this.deviceUuid,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
__decorate([
|
|
51
|
+
test()
|
|
52
|
+
], BleObserverControllerTest, "createsInstance", null);
|
|
53
|
+
__decorate([
|
|
54
|
+
test()
|
|
55
|
+
], BleObserverControllerTest, "startObservingCreatesBleObserverBackend", null);
|
|
56
|
+
__decorate([
|
|
57
|
+
test()
|
|
58
|
+
], BleObserverControllerTest, "startObservingStartsBleObserverBackend", null);
|
|
59
|
+
__decorate([
|
|
60
|
+
test()
|
|
61
|
+
], BleObserverControllerTest, "stopObservingStopsBleObserverBackend", null);
|
|
62
|
+
//# sourceMappingURL=BleObserverController.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BleObserverController.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/BleObserverController.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,qBAEN,MAAM,iDAAiD,CAAA;AACxD,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,mBAAmB;IAC9D,MAAM,CAAC,QAAQ,CAAa;IAE1B,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAChD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,uCAAuC;QAC1D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE3B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE;YACvD,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sCAAsC;QACzD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE3B,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GACjC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAA;QAEzC,MAAM,CAAC,OAAO,CACV,UAAU,EACV,IAAI,CAAC,UAAU,EACf,qDAAqD,CACxD,CAAA;QACD,MAAM,CAAC,UAAU,CACb,eAAe,EACf,0DAA0D,CAC7D,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAE1B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;YACrD,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,cAAc;QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAA;IACxC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IACvC,CAAC;IAEO,MAAM,CAAC,qBAAqB;QAChC,OAAO,qBAAqB,CAAC,MAAM,CAAC;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;CACJ;AArD0B;IADtB,IAAI,EAAE;sDAGN;AAGsB;IADtB,IAAI,EAAE;8EAON;AAGsB;IADtB,IAAI,EAAE;6EAgBN;AAGsB;IADtB,IAAI,EAAE;2EAON"}
|
package/build/__tests__/impl/{LslEventMarkerEmitter.test.d.ts → LslEventMarkerOutlet.test.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
|
-
export default class
|
|
2
|
+
export default class EventMarkerOutletTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
5
|
private static readonly markerName;
|
|
@@ -8,7 +8,7 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
8
8
|
protected static canOverrideDefaultOptions(): Promise<void>;
|
|
9
9
|
protected static emittingSingleMarkerIncrementsHitCountAndWaitTime(): Promise<void>;
|
|
10
10
|
protected static emittingTwoMarkersIncrementsHitCountAndWaitTimeTwice(): Promise<void>;
|
|
11
|
-
protected static
|
|
11
|
+
protected static outletIsInterruptable(bailIdx: number): Promise<void>;
|
|
12
12
|
protected static canStartAgainAfterInterrupting(): Promise<void>;
|
|
13
13
|
protected static doesNotWaitIfInterrupted(): Promise<void>;
|
|
14
14
|
protected static clearsTimeoutOnInterrupt(): Promise<void>;
|
|
@@ -30,5 +30,5 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
30
30
|
private static destroy;
|
|
31
31
|
private static get streamOutlet();
|
|
32
32
|
private static setupOutlet;
|
|
33
|
-
private static
|
|
33
|
+
private static LslEventMarkerOutlet;
|
|
34
34
|
}
|
|
@@ -6,19 +6,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { randomInt } from 'node:crypto';
|
|
8
8
|
import { assert, test } from '@neurodevs/node-tdd';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
9
|
+
import LslEventMarkerOutlet from '../../impl/LslEventMarkerOutlet.js';
|
|
10
|
+
import SpyEventMarkerOutlet from '../../testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js';
|
|
11
11
|
import generateRandomOutletOptions from '../../testDoubles/generateRandomOutletOptions.js';
|
|
12
|
-
import
|
|
12
|
+
import FakeLslOutlet from '../../testDoubles/LslOutlet/FakeLslOutlet.js';
|
|
13
13
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
14
|
-
export default class
|
|
14
|
+
export default class EventMarkerOutletTest extends AbstractPackageTest {
|
|
15
15
|
static instance;
|
|
16
16
|
static async beforeEach() {
|
|
17
17
|
await super.beforeEach();
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.instance = await this.LslEventMarkerEmitter();
|
|
18
|
+
this.setFakeLslOutlet();
|
|
19
|
+
this.setSpyEventMarkerOutlet();
|
|
20
|
+
this.instance = await this.LslEventMarkerOutlet();
|
|
22
21
|
}
|
|
23
22
|
static markerName = this.generateId();
|
|
24
23
|
static async createsInstance() {
|
|
@@ -26,7 +25,7 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
26
25
|
}
|
|
27
26
|
static async loadsWithEventMarkerSpecificOptions() {
|
|
28
27
|
assert.isEqualDeep({
|
|
29
|
-
...
|
|
28
|
+
...FakeLslOutlet.callsToConstructor[0],
|
|
30
29
|
name: undefined,
|
|
31
30
|
sourceId: undefined,
|
|
32
31
|
}, {
|
|
@@ -38,27 +37,27 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
38
37
|
sampleRateHz: 0,
|
|
39
38
|
chunkSize: 1,
|
|
40
39
|
});
|
|
41
|
-
assert.isTrue(
|
|
42
|
-
assert.isTrue(
|
|
40
|
+
assert.isTrue(FakeLslOutlet.callsToConstructor[0]?.sourceId.startsWith('event-markers-'), 'Source ID was not generated uniquely!');
|
|
41
|
+
assert.isTrue(FakeLslOutlet.callsToConstructor[0]?.name.startsWith('Event markers ('), 'Name was not generated uniquely!');
|
|
43
42
|
}
|
|
44
43
|
static async canOverrideDefaultOptions() {
|
|
45
44
|
const options = generateRandomOutletOptions();
|
|
46
|
-
await this.
|
|
47
|
-
assert.isEqualDeep(
|
|
45
|
+
await this.LslEventMarkerOutlet(options);
|
|
46
|
+
assert.isEqualDeep(FakeLslOutlet.callsToConstructor[1], options);
|
|
48
47
|
}
|
|
49
48
|
static async emittingSingleMarkerIncrementsHitCountAndWaitTime() {
|
|
50
49
|
const markers = [this.generateEventMarker()];
|
|
51
50
|
await this.instance.emitMany(markers);
|
|
52
51
|
const marker = markers[0];
|
|
53
|
-
assert.isEqual(
|
|
54
|
-
assert.isEqual(this.instance.
|
|
52
|
+
assert.isEqual(FakeLslOutlet.callsToPushSample[0]?.sample[0], marker.name, 'Pushed the wrong marker!');
|
|
53
|
+
assert.isEqual(this.instance.totalWaitAfterMs, marker.waitAfterMs);
|
|
55
54
|
}
|
|
56
55
|
static async emittingTwoMarkersIncrementsHitCountAndWaitTimeTwice() {
|
|
57
56
|
const markers = await this.emitManyFor(2);
|
|
58
|
-
assert.isEqual(
|
|
59
|
-
assert.isEqual(this.instance.
|
|
57
|
+
assert.isEqual(FakeLslOutlet.callsToPushSample.length, 2);
|
|
58
|
+
assert.isEqual(this.instance.totalWaitAfterMs, markers[0].waitAfterMs + markers[1].waitAfterMs);
|
|
60
59
|
}
|
|
61
|
-
static async
|
|
60
|
+
static async outletIsInterruptable(bailIdx) {
|
|
62
61
|
let hitCount = 0;
|
|
63
62
|
this.streamOutlet.pushSample = () => {
|
|
64
63
|
hitCount += 1;
|
|
@@ -95,10 +94,10 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
95
94
|
static async emitCallsPushSampleOnStreamOutlet() {
|
|
96
95
|
const markerName = this.generateId();
|
|
97
96
|
await this.emit(markerName);
|
|
98
|
-
assert.isEqualDeep(
|
|
97
|
+
assert.isEqualDeep(FakeLslOutlet.callsToPushSample[0]?.sample, [markerName], 'Pushed the wrong sample!');
|
|
99
98
|
}
|
|
100
99
|
static async emitWaitsForMsIfPassed() {
|
|
101
|
-
|
|
100
|
+
SpyEventMarkerOutlet.shouldCallWaitOnSuper = true;
|
|
102
101
|
const waitAfterMs = 10;
|
|
103
102
|
const startMs = Date.now();
|
|
104
103
|
await this.instance.emit(this.markerName, { waitAfterMs });
|
|
@@ -107,7 +106,7 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
107
106
|
}
|
|
108
107
|
static async destroyCallsDestroyOnInternalStreamOutlet() {
|
|
109
108
|
this.destroy();
|
|
110
|
-
assert.isEqual(
|
|
109
|
+
assert.isEqual(FakeLslOutlet.numCallsToDestroy, 1, 'Did not call destroy on outlet!');
|
|
111
110
|
}
|
|
112
111
|
static async destroyInterruptsIfRunning() {
|
|
113
112
|
let wasHit = false;
|
|
@@ -122,7 +121,7 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
122
121
|
await promise;
|
|
123
122
|
}
|
|
124
123
|
static async sourceIdIsUniqueAcrossInstances() {
|
|
125
|
-
const instance = await this.
|
|
124
|
+
const instance = await this.LslEventMarkerOutlet();
|
|
126
125
|
assert.isNotEqual(instance['outlet'].sourceId, this.instance['outlet'].sourceId, 'Source IDs are not unique!');
|
|
127
126
|
}
|
|
128
127
|
static async emitThrowsIfCalledWhileAlreadyRunning() {
|
|
@@ -132,7 +131,7 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
132
131
|
}, 'Cannot call emit while already running!');
|
|
133
132
|
}
|
|
134
133
|
static async emitManyThrowsIfCalledWhileAlreadyRunning() {
|
|
135
|
-
void
|
|
134
|
+
void EventMarkerOutletTest.emitManyOnce();
|
|
136
135
|
await assert.doesThrowAsync(async () => {
|
|
137
136
|
await this.emitManyFor(5, 1);
|
|
138
137
|
}, 'Cannot call emitMany while already running!');
|
|
@@ -177,67 +176,67 @@ export default class EventMarkerEmitterTest extends AbstractPackageTest {
|
|
|
177
176
|
return this.instance.getStreamOutlet();
|
|
178
177
|
}
|
|
179
178
|
static async setupOutlet() {
|
|
180
|
-
|
|
181
|
-
this.instance = await this.
|
|
179
|
+
LslEventMarkerOutlet.Class = LslEventMarkerOutlet;
|
|
180
|
+
this.instance = await this.LslEventMarkerOutlet();
|
|
182
181
|
}
|
|
183
|
-
static async
|
|
184
|
-
return (await
|
|
182
|
+
static async LslEventMarkerOutlet(options) {
|
|
183
|
+
return (await LslEventMarkerOutlet.Create(options));
|
|
185
184
|
}
|
|
186
185
|
}
|
|
187
186
|
__decorate([
|
|
188
187
|
test()
|
|
189
|
-
],
|
|
188
|
+
], EventMarkerOutletTest, "createsInstance", null);
|
|
190
189
|
__decorate([
|
|
191
190
|
test()
|
|
192
|
-
],
|
|
191
|
+
], EventMarkerOutletTest, "loadsWithEventMarkerSpecificOptions", null);
|
|
193
192
|
__decorate([
|
|
194
193
|
test()
|
|
195
|
-
],
|
|
194
|
+
], EventMarkerOutletTest, "canOverrideDefaultOptions", null);
|
|
196
195
|
__decorate([
|
|
197
196
|
test()
|
|
198
|
-
],
|
|
197
|
+
], EventMarkerOutletTest, "emittingSingleMarkerIncrementsHitCountAndWaitTime", null);
|
|
199
198
|
__decorate([
|
|
200
199
|
test()
|
|
201
|
-
],
|
|
200
|
+
], EventMarkerOutletTest, "emittingTwoMarkersIncrementsHitCountAndWaitTimeTwice", null);
|
|
202
201
|
__decorate([
|
|
203
202
|
test('interrupts on first marker', 1),
|
|
204
203
|
test('interrupts on second marker', 2),
|
|
205
204
|
test('interrupts on third marker', 3)
|
|
206
|
-
],
|
|
205
|
+
], EventMarkerOutletTest, "outletIsInterruptable", null);
|
|
207
206
|
__decorate([
|
|
208
207
|
test()
|
|
209
|
-
],
|
|
208
|
+
], EventMarkerOutletTest, "canStartAgainAfterInterrupting", null);
|
|
210
209
|
__decorate([
|
|
211
210
|
test()
|
|
212
|
-
],
|
|
211
|
+
], EventMarkerOutletTest, "doesNotWaitIfInterrupted", null);
|
|
213
212
|
__decorate([
|
|
214
213
|
test()
|
|
215
|
-
],
|
|
214
|
+
], EventMarkerOutletTest, "clearsTimeoutOnInterrupt", null);
|
|
216
215
|
__decorate([
|
|
217
216
|
test()
|
|
218
|
-
],
|
|
217
|
+
], EventMarkerOutletTest, "emitCallsPushSampleOnStreamOutlet", null);
|
|
219
218
|
__decorate([
|
|
220
219
|
test()
|
|
221
|
-
],
|
|
220
|
+
], EventMarkerOutletTest, "emitWaitsForMsIfPassed", null);
|
|
222
221
|
__decorate([
|
|
223
222
|
test()
|
|
224
|
-
],
|
|
223
|
+
], EventMarkerOutletTest, "destroyCallsDestroyOnInternalStreamOutlet", null);
|
|
225
224
|
__decorate([
|
|
226
225
|
test()
|
|
227
|
-
],
|
|
226
|
+
], EventMarkerOutletTest, "destroyInterruptsIfRunning", null);
|
|
228
227
|
__decorate([
|
|
229
228
|
test()
|
|
230
|
-
],
|
|
229
|
+
], EventMarkerOutletTest, "sourceIdIsUniqueAcrossInstances", null);
|
|
231
230
|
__decorate([
|
|
232
231
|
test()
|
|
233
|
-
],
|
|
232
|
+
], EventMarkerOutletTest, "emitThrowsIfCalledWhileAlreadyRunning", null);
|
|
234
233
|
__decorate([
|
|
235
234
|
test()
|
|
236
|
-
],
|
|
235
|
+
], EventMarkerOutletTest, "emitManyThrowsIfCalledWhileAlreadyRunning", null);
|
|
237
236
|
__decorate([
|
|
238
237
|
test()
|
|
239
|
-
],
|
|
238
|
+
], EventMarkerOutletTest, "emitSetsIsRunningFalseOnceDone", null);
|
|
240
239
|
__decorate([
|
|
241
240
|
test()
|
|
242
|
-
],
|
|
243
|
-
//# sourceMappingURL=
|
|
241
|
+
], EventMarkerOutletTest, "emitManySetsIsRunningFalseOnceDone", null);
|
|
242
|
+
//# sourceMappingURL=LslEventMarkerOutlet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslEventMarkerOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslEventMarkerOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
|
+
export default class LslJsonOutletTest extends AbstractPackageTest {
|
|
3
|
+
private static instance;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
6
|
+
protected static loadsWithJsonSpecificOptionsOnce(): Promise<void>;
|
|
7
|
+
protected static loadsWithJsonSpecificOptionsTwice(): Promise<void>;
|
|
8
|
+
protected static canOverrideDefaultOptions(): Promise<void>;
|
|
9
|
+
protected static pushJsonSerializesAndPushesToLslOutlet(): Promise<void>;
|
|
10
|
+
protected static destroyCallsDestroyOnLslOutlet(): Promise<void>;
|
|
11
|
+
protected static pushJsonThrowsIfPayloadExceedsMaxBytesPerSample(): Promise<void>;
|
|
12
|
+
protected static countsUtf8BytesNotCharacters(): Promise<void>;
|
|
13
|
+
private static LslJsonOutlet;
|
|
14
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
8
|
+
import LslJsonOutlet from '../../impl/LslJsonOutlet.js';
|
|
9
|
+
import FakeLslOutlet from '../../testDoubles/LslOutlet/FakeLslOutlet.js';
|
|
10
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
11
|
+
export default class LslJsonOutletTest extends AbstractPackageTest {
|
|
12
|
+
static instance;
|
|
13
|
+
static async beforeEach() {
|
|
14
|
+
await super.beforeEach();
|
|
15
|
+
this.setFakeLslOutlet();
|
|
16
|
+
LslJsonOutlet.backupIdCounter = 0;
|
|
17
|
+
this.instance = await this.LslJsonOutlet();
|
|
18
|
+
}
|
|
19
|
+
static async createsInstance() {
|
|
20
|
+
assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
21
|
+
}
|
|
22
|
+
static async loadsWithJsonSpecificOptionsOnce() {
|
|
23
|
+
assert.isEqualDeep(FakeLslOutlet.callsToConstructor[0], {
|
|
24
|
+
name: `JSON (json-1)`,
|
|
25
|
+
type: 'JSON',
|
|
26
|
+
sourceId: 'json-1',
|
|
27
|
+
channelNames: ['JSON'],
|
|
28
|
+
channelFormat: 'string',
|
|
29
|
+
sampleRateHz: 0,
|
|
30
|
+
chunkSize: 1,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static async loadsWithJsonSpecificOptionsTwice() {
|
|
34
|
+
await this.LslJsonOutlet();
|
|
35
|
+
assert.isEqualDeep(FakeLslOutlet.callsToConstructor[1], {
|
|
36
|
+
name: `JSON (json-2)`,
|
|
37
|
+
type: 'JSON',
|
|
38
|
+
sourceId: 'json-2',
|
|
39
|
+
channelNames: ['JSON'],
|
|
40
|
+
channelFormat: 'string',
|
|
41
|
+
sampleRateHz: 0,
|
|
42
|
+
chunkSize: 1,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static async canOverrideDefaultOptions() {
|
|
46
|
+
const channelName = this.generateId();
|
|
47
|
+
await this.LslJsonOutlet({
|
|
48
|
+
name: this.name_,
|
|
49
|
+
type: this.type,
|
|
50
|
+
sourceId: this.sourceId,
|
|
51
|
+
channelName,
|
|
52
|
+
sampleRateHz: this.sampleRateHz,
|
|
53
|
+
chunkSize: this.chunkSize,
|
|
54
|
+
});
|
|
55
|
+
assert.isEqualDeep(FakeLslOutlet.callsToConstructor[1], {
|
|
56
|
+
name: this.name_,
|
|
57
|
+
type: this.type,
|
|
58
|
+
sourceId: this.sourceId,
|
|
59
|
+
channelNames: [channelName],
|
|
60
|
+
channelFormat: 'string',
|
|
61
|
+
sampleRateHz: this.sampleRateHz,
|
|
62
|
+
chunkSize: this.chunkSize,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static async pushJsonSerializesAndPushesToLslOutlet() {
|
|
66
|
+
const data = { [this.generateId()]: this.generateId() };
|
|
67
|
+
this.instance.pushJson(data);
|
|
68
|
+
assert.isEqualDeep(FakeLslOutlet.callsToPushSample[0]?.sample, [
|
|
69
|
+
JSON.stringify(data),
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
static async destroyCallsDestroyOnLslOutlet() {
|
|
73
|
+
this.instance.destroy();
|
|
74
|
+
assert.isEqual(FakeLslOutlet.numCallsToDestroy, 1, 'Did not call destroy on outlet!');
|
|
75
|
+
}
|
|
76
|
+
static async pushJsonThrowsIfPayloadExceedsMaxBytesPerSample() {
|
|
77
|
+
const maxBytesPerSample = 10;
|
|
78
|
+
const instance = await this.LslJsonOutlet({ maxBytesPerSample });
|
|
79
|
+
const data = { [this.generateId()]: this.generateId() };
|
|
80
|
+
assert.doesThrow(() => instance.pushJson(data), `Payload of ${JSON.stringify(data).length} bytes exceeds maxBytesPerSample of ${maxBytesPerSample}!`);
|
|
81
|
+
}
|
|
82
|
+
static async countsUtf8BytesNotCharacters() {
|
|
83
|
+
const data = { emoji: '😀😀😀' };
|
|
84
|
+
const json = JSON.stringify(data);
|
|
85
|
+
const totalBytes = Buffer.byteLength(json);
|
|
86
|
+
const maxBytesPerSample = json.length;
|
|
87
|
+
const instance = await this.LslJsonOutlet({ maxBytesPerSample });
|
|
88
|
+
assert.doesThrow(() => instance.pushJson(data), `Payload of ${totalBytes} bytes exceeds maxBytesPerSample of ${maxBytesPerSample}!`);
|
|
89
|
+
}
|
|
90
|
+
static LslJsonOutlet(options) {
|
|
91
|
+
return LslJsonOutlet.Create(options);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
__decorate([
|
|
95
|
+
test()
|
|
96
|
+
], LslJsonOutletTest, "createsInstance", null);
|
|
97
|
+
__decorate([
|
|
98
|
+
test()
|
|
99
|
+
], LslJsonOutletTest, "loadsWithJsonSpecificOptionsOnce", null);
|
|
100
|
+
__decorate([
|
|
101
|
+
test()
|
|
102
|
+
], LslJsonOutletTest, "loadsWithJsonSpecificOptionsTwice", null);
|
|
103
|
+
__decorate([
|
|
104
|
+
test()
|
|
105
|
+
], LslJsonOutletTest, "canOverrideDefaultOptions", null);
|
|
106
|
+
__decorate([
|
|
107
|
+
test()
|
|
108
|
+
], LslJsonOutletTest, "pushJsonSerializesAndPushesToLslOutlet", null);
|
|
109
|
+
__decorate([
|
|
110
|
+
test()
|
|
111
|
+
], LslJsonOutletTest, "destroyCallsDestroyOnLslOutlet", null);
|
|
112
|
+
__decorate([
|
|
113
|
+
test()
|
|
114
|
+
], LslJsonOutletTest, "pushJsonThrowsIfPayloadExceedsMaxBytesPerSample", null);
|
|
115
|
+
__decorate([
|
|
116
|
+
test()
|
|
117
|
+
], LslJsonOutletTest, "countsUtf8BytesNotCharacters", null);
|
|
118
|
+
//# sourceMappingURL=LslJsonOutlet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslJsonOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslJsonOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,14 @@ 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 { CHANNEL_FORMATS } from '../../consts.js';
|
|
9
8
|
import LslStreamInfo from '../../impl/LslStreamInfo.js';
|
|
10
9
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
10
|
+
import { CHANNEL_FORMATS } from '@neurodevs/ndx-native';
|
|
11
11
|
export default class LslStreamInfoTest extends AbstractPackageTest {
|
|
12
12
|
static instance;
|
|
13
13
|
static async beforeEach() {
|
|
14
14
|
await super.beforeEach();
|
|
15
|
-
this.
|
|
16
|
-
this.setSpyStreamInfo();
|
|
15
|
+
this.setSpyLslInfo();
|
|
17
16
|
this.instance = this.LslStreamInfo();
|
|
18
17
|
}
|
|
19
18
|
static async createsInstance() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInfo.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInfo.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInfo.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { LslInletOptions } from '../../impl/LslStreamInlet.js';
|
|
2
|
+
import SpyLslInlet from '../../testDoubles/LslInlet/SpyLslInlet.js';
|
|
3
3
|
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
4
4
|
export default class LslStreamInletTest extends AbstractPackageTest {
|
|
5
5
|
private static instance;
|
|
@@ -21,7 +21,6 @@ export default class LslStreamInletTest extends AbstractPackageTest {
|
|
|
21
21
|
protected static doesNotStartPullingTwiceIfAlreadyRunning(): Promise<void>;
|
|
22
22
|
protected static startPullingOpensInletStream(): Promise<void>;
|
|
23
23
|
protected static opensInletStreamWithPassedTimeout(): Promise<void>;
|
|
24
|
-
protected static waitsAfterOpeningStreamWithPassedOption(): Promise<void>;
|
|
25
24
|
protected static stopPullingClosesInletStream(): Promise<void>;
|
|
26
25
|
protected static stopPullingFlushesInletByDefault(): Promise<void>;
|
|
27
26
|
protected static stopPullingDoesNotFlushInletIfPassedOption(): Promise<void>;
|
|
@@ -45,7 +44,6 @@ export default class LslStreamInletTest extends AbstractPackageTest {
|
|
|
45
44
|
private static destroy;
|
|
46
45
|
private static get isRunning();
|
|
47
46
|
private static get inletHandle();
|
|
48
|
-
private static getFakeWorker;
|
|
49
47
|
private static onData;
|
|
50
|
-
protected static LslStreamInlet(options?: Partial<
|
|
48
|
+
protected static LslStreamInlet(options?: Partial<LslInletOptions>): Promise<SpyLslInlet>;
|
|
51
49
|
}
|