@neurodevs/node-lsl 11.4.1 → 12.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/.vscode/tasks.json +19 -1
- package/README.md +44 -34
- package/build/.spruce/settings.json +1 -3
- package/build/__tests__/{AbstractLslTest.d.ts → AbstractPackageTest.d.ts} +6 -4
- package/build/__tests__/AbstractPackageTest.js +58 -0
- package/build/__tests__/AbstractPackageTest.js.map +1 -0
- package/build/__tests__/{modules → impl}/LiblslAdapter.test.d.ts +5 -8
- package/build/__tests__/{modules → impl}/LiblslAdapter.test.js +37 -86
- package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -0
- package/build/__tests__/{modules/EventMarkerOutlet.test.d.ts → impl/LslEventMarkerOutlet.test.d.ts} +5 -4
- package/build/__tests__/{modules/EventMarkerOutlet.test.js → impl/LslEventMarkerOutlet.test.js} +32 -25
- package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
- package/build/__tests__/{modules → impl}/LslStreamInfo.test.d.ts +3 -4
- package/build/__tests__/{modules → impl}/LslStreamInfo.test.js +17 -27
- package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -0
- package/build/__tests__/impl/LslStreamInlet.test.d.ts +10 -0
- package/build/__tests__/{modules → impl}/LslStreamInlet.test.js +9 -26
- package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -0
- package/build/__tests__/{modules → impl}/LslStreamOutlet.test.d.ts +9 -7
- package/build/__tests__/{modules → impl}/LslStreamOutlet.test.js +40 -57
- package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.d.ts +7 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.js +63 -0
- package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -0
- package/build/assertions.d.ts +1 -1
- package/build/assertions.js +10 -31
- package/build/assertions.js.map +1 -1
- package/build/{modules → impl}/LiblslAdapter.d.ts +3 -1
- package/build/{modules → impl}/LiblslAdapter.js +15 -44
- package/build/impl/LiblslAdapter.js.map +1 -0
- package/build/impl/LslEventMarkerOutlet.d.ts +23 -0
- package/build/{modules/EventMarkerOutlet.js → impl/LslEventMarkerOutlet.js} +6 -6
- package/build/impl/LslEventMarkerOutlet.js.map +1 -0
- package/build/{modules → impl}/LslStreamInfo.js +4 -6
- package/build/impl/LslStreamInfo.js.map +1 -0
- package/build/{modules → impl}/LslStreamInlet.d.ts +8 -8
- package/build/{modules → impl}/LslStreamInlet.js +6 -14
- package/build/impl/LslStreamInlet.js.map +1 -0
- package/build/{modules → impl}/LslStreamOutlet.d.ts +8 -8
- package/build/{modules → impl}/LslStreamOutlet.js +2 -15
- package/build/impl/LslStreamOutlet.js.map +1 -0
- package/build/impl/LslWebSocketBridge.d.ts +8 -0
- package/build/impl/LslWebSocketBridge.js +10 -0
- package/build/impl/LslWebSocketBridge.js.map +1 -0
- package/build/index.d.ts +26 -22
- package/build/index.js +41 -34
- package/build/index.js.map +1 -1
- package/build/scripts/runLslEventMarkerOutlet.d.ts +1 -0
- package/build/scripts/runLslEventMarkerOutlet.js +23 -0
- package/build/scripts/runLslEventMarkerOutlet.js.map +1 -0
- package/build/scripts/runLslStreamOutlet.d.ts +1 -0
- package/build/scripts/runLslStreamOutlet.js +25 -0
- package/build/scripts/runLslStreamOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/FakeMarkerOutlet.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js +29 -0
- package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.d.ts → EventMarkerOutlet/MockEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.js → EventMarkerOutlet/MockEventMarkerOutlet.js} +3 -3
- package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +9 -0
- package/build/testDoubles/{MarkerOutlet/SpyMarkerOutlet.js → EventMarkerOutlet/SpyEventMarkerOutlet.js} +8 -8
- package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.d.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts} +2 -2
- package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +3 -3
- package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
- package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js +1 -1
- package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +1 -1
- package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +10 -0
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js +16 -0
- package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -0
- package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +7 -0
- package/build/testDoubles/{LslInlet/SpyLslInlet.js → StreamInlet/SpyStreamInlet.js} +5 -5
- package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -0
- package/build/testDoubles/{LslOutlet/FakeLslOutlet.d.ts → StreamOutlet/FakeStreamOutlet.d.ts} +9 -10
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +62 -0
- package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.d.ts +6 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js +13 -0
- package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js.map +1 -0
- package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
- package/build/testDoubles/generateRandomOutletOptions.js +10 -7
- package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
- package/build/types.d.ts +3 -3
- package/package.json +26 -18
- package/src/.spruce/settings.json +1 -3
- package/src/__tests__/{AbstractLslTest.ts → AbstractPackageTest.ts} +23 -17
- package/src/__tests__/{modules → impl}/LiblslAdapter.test.ts +36 -76
- package/src/__tests__/{modules/EventMarkerOutlet.test.ts → impl/LslEventMarkerOutlet.test.ts} +38 -27
- package/src/__tests__/{modules → impl}/LslStreamInfo.test.ts +7 -17
- package/src/__tests__/{modules → impl}/LslStreamInlet.test.ts +13 -30
- package/src/__tests__/{modules → impl}/LslStreamOutlet.test.ts +71 -63
- package/src/__tests__/impl/LslWebSocketBridge.test.ts +23 -0
- package/src/assertions.ts +19 -30
- package/src/{modules → impl}/LiblslAdapter.ts +18 -44
- package/src/{modules/EventMarkerOutlet.ts → impl/LslEventMarkerOutlet.ts} +16 -11
- package/src/{modules → impl}/LslStreamInfo.ts +1 -3
- package/src/{modules → impl}/LslStreamInlet.ts +14 -22
- package/src/{modules → impl}/LslStreamOutlet.ts +12 -26
- package/src/impl/LslWebSocketBridge.ts +13 -0
- package/src/index.ts +37 -29
- package/src/scripts/runLslEventMarkerOutlet.ts +23 -0
- package/src/scripts/runLslStreamOutlet.ts +22 -0
- package/src/testDoubles/{MarkerOutlet/FakeMarkerOutlet.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +6 -6
- package/src/testDoubles/{MarkerOutlet/MockMarkerOutlet.ts → EventMarkerOutlet/MockEventMarkerOutlet.ts} +2 -2
- package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +24 -0
- package/src/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +2 -2
- package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInfo/SpyStreamInfo.ts +1 -1
- package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +20 -0
- package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +16 -0
- package/src/testDoubles/{LslOutlet/FakeLslOutlet.ts → StreamOutlet/FakeStreamOutlet.ts} +17 -18
- package/src/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.ts +15 -0
- package/src/testDoubles/generateRandomOutletOptions.ts +3 -3
- package/src/types.ts +3 -3
- package/build/.spruce/errors/errors.types.d.ts +0 -21
- package/build/.spruce/errors/errors.types.js +0 -3
- package/build/.spruce/errors/errors.types.js.map +0 -1
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.d.ts +0 -3
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js +0 -19
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js.map +0 -1
- package/build/.spruce/errors/options.types.d.ts +0 -7
- package/build/.spruce/errors/options.types.js +0 -3
- package/build/.spruce/errors/options.types.js.map +0 -1
- package/build/.spruce/schemas/fields/fieldClassMap.d.ts +0 -2
- package/build/.spruce/schemas/fields/fieldClassMap.js +0 -5
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +0 -1
- package/build/.spruce/schemas/fields/fields.types.d.ts +0 -1
- package/build/.spruce/schemas/fields/fields.types.js +0 -3
- package/build/.spruce/schemas/fields/fields.types.js.map +0 -1
- package/build/__tests__/AbstractLslTest.js +0 -86
- package/build/__tests__/AbstractLslTest.js.map +0 -1
- package/build/__tests__/modules/EventMarkerOutlet.test.js.map +0 -1
- package/build/__tests__/modules/LiblslAdapter.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamInfo.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamInlet.test.d.ts +0 -11
- package/build/__tests__/modules/LslStreamInlet.test.js.map +0 -1
- package/build/__tests__/modules/LslStreamOutlet.test.js.map +0 -1
- package/build/errors/SpruceError.d.ts +0 -6
- package/build/errors/SpruceError.js +0 -26
- package/build/errors/SpruceError.js.map +0 -1
- package/build/errors/failedToLoadLiblsl.builder.d.ts +0 -11
- package/build/errors/failedToLoadLiblsl.builder.js +0 -14
- package/build/errors/failedToLoadLiblsl.builder.js.map +0 -1
- package/build/modules/EventMarkerOutlet.d.ts +0 -23
- package/build/modules/EventMarkerOutlet.js.map +0 -1
- package/build/modules/LiblslAdapter.js.map +0 -1
- package/build/modules/LslStreamInfo.js.map +0 -1
- package/build/modules/LslStreamInlet.js.map +0 -1
- package/build/modules/LslStreamOutlet.js.map +0 -1
- package/build/testDoubles/LslInlet/FakeLslInlet.d.ts +0 -11
- package/build/testDoubles/LslInlet/FakeLslInlet.js +0 -16
- package/build/testDoubles/LslInlet/FakeLslInlet.js.map +0 -1
- package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +0 -7
- package/build/testDoubles/LslInlet/SpyLslInlet.js.map +0 -1
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js +0 -59
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js +0 -29
- package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.d.ts +0 -9
- package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.js.map +0 -1
- package/build/testDoubles/MarkerOutlet/ThrowingMarkerOutlet.js.map +0 -1
- package/src/.spruce/errors/errors.types.ts +0 -37
- package/src/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.ts +0 -22
- package/src/.spruce/errors/options.types.ts +0 -10
- package/src/.spruce/schemas/fields/fieldClassMap.ts +0 -6
- package/src/.spruce/schemas/fields/fields.types.ts +0 -1
- package/src/errors/SpruceError.ts +0 -23
- package/src/errors/failedToLoadLiblsl.builder.ts +0 -12
- package/src/testDoubles/LslInlet/FakeLslInlet.ts +0 -22
- package/src/testDoubles/LslInlet/SpyLslInlet.ts +0 -16
- package/src/testDoubles/MarkerOutlet/SpyMarkerOutlet.ts +0 -24
- /package/build/{modules → impl}/LslStreamInfo.d.ts +0 -0
package/build/__tests__/{modules/EventMarkerOutlet.test.js → impl/LslEventMarkerOutlet.test.js}
RENAMED
|
@@ -11,20 +11,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const crypto_1 = require("crypto");
|
|
13
13
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
-
const
|
|
14
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
15
|
+
const LslEventMarkerOutlet_1 = __importDefault(require("../../impl/LslEventMarkerOutlet"));
|
|
15
16
|
const generateRandomOutletOptions_1 = __importDefault(require("../../testDoubles/generateRandomOutletOptions"));
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
class EventMarkerOutletTest extends
|
|
17
|
+
const FakeStreamOutlet_1 = __importDefault(require("../../testDoubles/StreamOutlet/FakeStreamOutlet"));
|
|
18
|
+
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
19
|
+
class EventMarkerOutletTest extends AbstractPackageTest_1.default {
|
|
19
20
|
static async beforeEach() {
|
|
20
21
|
await super.beforeEach();
|
|
21
22
|
this.setFakeLiblsl();
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.instance = await this.
|
|
23
|
+
this.setFakeStreamOutlet();
|
|
24
|
+
this.setSpyEventMarkerOutlet();
|
|
25
|
+
this.instance = await this.LslEventMarkerOutlet();
|
|
26
|
+
}
|
|
27
|
+
static async createsInstance() {
|
|
28
|
+
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
25
29
|
}
|
|
26
30
|
static async loadsWithEventMarkerSpecificOptions() {
|
|
27
|
-
test_utils_1.assert.isEqualDeep(
|
|
31
|
+
test_utils_1.assert.isEqualDeep(FakeStreamOutlet_1.default.callsToConstructor[0].options, {
|
|
28
32
|
name: 'Event markers',
|
|
29
33
|
type: 'Markers',
|
|
30
34
|
channelNames: ['Markers'],
|
|
@@ -39,24 +43,24 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
39
43
|
}
|
|
40
44
|
static async canOverrideDefaultOptions() {
|
|
41
45
|
const options = (0, generateRandomOutletOptions_1.default)();
|
|
42
|
-
await this.
|
|
43
|
-
test_utils_1.assert.isEqualDeep(
|
|
46
|
+
await this.LslEventMarkerOutlet(options);
|
|
47
|
+
test_utils_1.assert.isEqualDeep(FakeStreamOutlet_1.default.callsToConstructor[1].options, options);
|
|
44
48
|
}
|
|
45
49
|
static async pushingSingleMarkerIncrementsHitCountAndWaitTime() {
|
|
46
50
|
const markers = [this.generateDurationMarker()];
|
|
47
51
|
await this.instance.pushMarkers(markers);
|
|
48
52
|
const marker = markers[0];
|
|
49
|
-
test_utils_1.assert.isEqual(
|
|
53
|
+
test_utils_1.assert.isEqual(FakeStreamOutlet_1.default.callsToPushSample[0][0], marker.name, 'Pushed the wrong marker!');
|
|
50
54
|
test_utils_1.assert.isEqual(this.instance.totalWaitTimeMs, marker.durationMs);
|
|
51
55
|
}
|
|
52
56
|
static async pushingTwoMarkersIncrementsHitCountAndWaitTimeTwice() {
|
|
53
57
|
const markers = await this.pushTotalMarkers(2);
|
|
54
|
-
test_utils_1.assert.isEqual(
|
|
58
|
+
test_utils_1.assert.isEqual(FakeStreamOutlet_1.default.callsToPushSample.length, 2);
|
|
55
59
|
test_utils_1.assert.isEqual(this.instance.totalWaitTimeMs, markers[0].durationMs + markers[1].durationMs);
|
|
56
60
|
}
|
|
57
61
|
static async canStopEventMarkersMidPush(bailIdx) {
|
|
58
62
|
let hitCount = 0;
|
|
59
|
-
const outlet = this.instance.
|
|
63
|
+
const outlet = this.instance.getStreamOutlet();
|
|
60
64
|
outlet.pushSample = () => {
|
|
61
65
|
hitCount += 1;
|
|
62
66
|
if (hitCount === bailIdx) {
|
|
@@ -69,7 +73,7 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
69
73
|
static async canStartAgainAfterStopping() {
|
|
70
74
|
this.instance.stop();
|
|
71
75
|
let hitCount = 0;
|
|
72
|
-
const outlet = this.instance.
|
|
76
|
+
const outlet = this.instance.getStreamOutlet();
|
|
73
77
|
outlet.pushSample = () => {
|
|
74
78
|
hitCount++;
|
|
75
79
|
};
|
|
@@ -88,19 +92,19 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
88
92
|
static async clearsTheTimeoutOnStop() {
|
|
89
93
|
void this.pushTotalMarkers(2, 100);
|
|
90
94
|
this.instance.stop();
|
|
91
|
-
this.
|
|
95
|
+
this.streamOutlet.pushSample = () => test_utils_1.assert.fail('Should not have been called');
|
|
92
96
|
}
|
|
93
97
|
static async pushMarkerCallsPushSampleOnMarkerOutlet() {
|
|
94
|
-
const markerName = (0,
|
|
98
|
+
const markerName = (0, generate_id_1.default)();
|
|
95
99
|
this.instance.pushMarker(markerName);
|
|
96
|
-
test_utils_1.assert.isEqual(
|
|
100
|
+
test_utils_1.assert.isEqual(FakeStreamOutlet_1.default.callsToPushSample[0][0], markerName);
|
|
97
101
|
}
|
|
98
|
-
static get
|
|
99
|
-
return this.instance.
|
|
102
|
+
static get streamOutlet() {
|
|
103
|
+
return this.instance.getStreamOutlet();
|
|
100
104
|
}
|
|
101
105
|
static async setupOutlet() {
|
|
102
|
-
|
|
103
|
-
this.instance = await this.
|
|
106
|
+
LslEventMarkerOutlet_1.default.Class = LslEventMarkerOutlet_1.default;
|
|
107
|
+
this.instance = await this.LslEventMarkerOutlet();
|
|
104
108
|
}
|
|
105
109
|
static async pushTotalMarkers(total, durationMs) {
|
|
106
110
|
const markers = new Array(total)
|
|
@@ -111,15 +115,18 @@ class EventMarkerOutletTest extends AbstractLslTest_1.default {
|
|
|
111
115
|
}
|
|
112
116
|
static generateDurationMarker(durationMs) {
|
|
113
117
|
return {
|
|
114
|
-
name: (0,
|
|
118
|
+
name: (0, generate_id_1.default)(),
|
|
115
119
|
durationMs: durationMs ?? (0, crypto_1.randomInt)(100, 1000),
|
|
116
120
|
};
|
|
117
121
|
}
|
|
118
|
-
static async
|
|
119
|
-
return (await
|
|
122
|
+
static async LslEventMarkerOutlet(options) {
|
|
123
|
+
return (await LslEventMarkerOutlet_1.default.Create(options));
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
126
|
exports.default = EventMarkerOutletTest;
|
|
127
|
+
__decorate([
|
|
128
|
+
(0, test_utils_1.test)()
|
|
129
|
+
], EventMarkerOutletTest, "createsInstance", null);
|
|
123
130
|
__decorate([
|
|
124
131
|
(0, test_utils_1.test)()
|
|
125
132
|
], EventMarkerOutletTest, "loadsWithEventMarkerSpecificOptions", null);
|
|
@@ -149,4 +156,4 @@ __decorate([
|
|
|
149
156
|
__decorate([
|
|
150
157
|
(0, test_utils_1.test)()
|
|
151
158
|
], EventMarkerOutletTest, "pushMarkerCallsPushSampleOnMarkerOutlet", null);
|
|
152
|
-
//# sourceMappingURL=
|
|
159
|
+
//# 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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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class LslStreamInfoTest extends
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest';
|
|
2
|
+
export default class LslStreamInfoTest extends AbstractPackageTest {
|
|
3
3
|
private static instance;
|
|
4
4
|
protected static beforeEach(): Promise<void>;
|
|
5
|
-
protected static
|
|
6
|
-
protected static throwsWithMissingRequiredOptions(): Promise<void>;
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
7
6
|
protected static generatesUniqueNameIfNotProvided(): Promise<void>;
|
|
8
7
|
protected static uniqueNameHasSetPrefix(): Promise<void>;
|
|
9
8
|
protected static canManuallySetName(): Promise<void>;
|
|
@@ -11,25 +11,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
var _a;
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
14
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
14
15
|
const consts_1 = require("../../consts");
|
|
15
|
-
const LslStreamInfo_1 = __importDefault(require("../../
|
|
16
|
-
const
|
|
17
|
-
class LslStreamInfoTest extends
|
|
16
|
+
const LslStreamInfo_1 = __importDefault(require("../../impl/LslStreamInfo"));
|
|
17
|
+
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
18
|
+
class LslStreamInfoTest extends AbstractPackageTest_1.default {
|
|
18
19
|
static async beforeEach() {
|
|
19
20
|
await super.beforeEach();
|
|
20
21
|
this.setSpyStreamInfo();
|
|
21
22
|
this.instance = this.LslStreamInfo();
|
|
22
23
|
}
|
|
23
|
-
static async
|
|
24
|
-
test_utils_1.assert.isTruthy(this.instance, '
|
|
25
|
-
}
|
|
26
|
-
static async throwsWithMissingRequiredOptions() {
|
|
27
|
-
const err = test_utils_1.assert.doesThrow(
|
|
28
|
-
// @ts-ignore
|
|
29
|
-
() => LslStreamInfo_1.default.Create());
|
|
30
|
-
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
31
|
-
parameters: ['channelNames', 'channelFormat', 'sampleRate'],
|
|
32
|
-
});
|
|
24
|
+
static async createsInstance() {
|
|
25
|
+
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
33
26
|
}
|
|
34
27
|
static async generatesUniqueNameIfNotProvided() {
|
|
35
28
|
const instance1 = this.LslStreamInfo({ name: undefined });
|
|
@@ -41,7 +34,7 @@ class LslStreamInfoTest extends AbstractLslTest_1.default {
|
|
|
41
34
|
test_utils_1.assert.doesInclude(instance.getName(), 'lsl-stream-info-', 'Name should have set prefix!');
|
|
42
35
|
}
|
|
43
36
|
static async canManuallySetName() {
|
|
44
|
-
const name = (0,
|
|
37
|
+
const name = (0, generate_id_1.default)();
|
|
45
38
|
const instance = this.LslStreamInfo({ name });
|
|
46
39
|
test_utils_1.assert.isEqual(instance.getName(), name, 'Name should be set to provided value!');
|
|
47
40
|
}
|
|
@@ -51,7 +44,7 @@ class LslStreamInfoTest extends AbstractLslTest_1.default {
|
|
|
51
44
|
test_utils_1.assert.isNotEqual(instance1.getType(), instance2.getType(), 'Inlet types should be unique!');
|
|
52
45
|
}
|
|
53
46
|
static async canManuallySetType() {
|
|
54
|
-
const type = (0,
|
|
47
|
+
const type = (0, generate_id_1.default)();
|
|
55
48
|
const instance = this.LslStreamInfo({ type });
|
|
56
49
|
test_utils_1.assert.isEqual(instance.getType(), type, 'Type should be set to provided value!');
|
|
57
50
|
}
|
|
@@ -61,7 +54,7 @@ class LslStreamInfoTest extends AbstractLslTest_1.default {
|
|
|
61
54
|
test_utils_1.assert.isNotEqual(instance1.getSourceId(), instance2.getSourceId(), 'Inlet sourceIds should be unique!');
|
|
62
55
|
}
|
|
63
56
|
static async canManuallySetSourceId() {
|
|
64
|
-
const sourceId = (0,
|
|
57
|
+
const sourceId = (0, generate_id_1.default)();
|
|
65
58
|
const instance = this.LslStreamInfo({ sourceId });
|
|
66
59
|
test_utils_1.assert.isEqual(instance.getSourceId(), sourceId, 'SourceId should be set to provided value!');
|
|
67
60
|
}
|
|
@@ -69,7 +62,7 @@ class LslStreamInfoTest extends AbstractLslTest_1.default {
|
|
|
69
62
|
test_utils_1.assert.isEqual(this.instance.getUnits(), 'N/A', 'Units should be set to "N/A"!');
|
|
70
63
|
}
|
|
71
64
|
static async canManuallySetUnits() {
|
|
72
|
-
const units = (0,
|
|
65
|
+
const units = (0, generate_id_1.default)();
|
|
73
66
|
const instance = this.LslStreamInfo({ units });
|
|
74
67
|
test_utils_1.assert.isEqual(instance.getUnits(), units, 'Units should be set to provided value!');
|
|
75
68
|
}
|
|
@@ -79,9 +72,9 @@ class LslStreamInfoTest extends AbstractLslTest_1.default {
|
|
|
79
72
|
static async passesOptionsToStreamInfo() {
|
|
80
73
|
const randomChannelIdx = Math.floor(Math.random() * consts_1.CHANNEL_FORMATS.length);
|
|
81
74
|
const options = {
|
|
82
|
-
name: (0,
|
|
83
|
-
type: (0,
|
|
84
|
-
sourceId: (0,
|
|
75
|
+
name: (0, generate_id_1.default)(),
|
|
76
|
+
type: (0, generate_id_1.default)(),
|
|
77
|
+
sourceId: (0, generate_id_1.default)(),
|
|
85
78
|
channelCount: this.channelNames.length,
|
|
86
79
|
channelFormat: consts_1.CHANNEL_FORMATS[randomChannelIdx],
|
|
87
80
|
sampleRate: 100 * Math.random(),
|
|
@@ -113,9 +106,9 @@ class LslStreamInfoTest extends AbstractLslTest_1.default {
|
|
|
113
106
|
}
|
|
114
107
|
_a = LslStreamInfoTest;
|
|
115
108
|
LslStreamInfoTest.defaultOptions = {
|
|
116
|
-
name: (0,
|
|
117
|
-
type: (0,
|
|
118
|
-
sourceId: (0,
|
|
109
|
+
name: (0, generate_id_1.default)(),
|
|
110
|
+
type: (0, generate_id_1.default)(),
|
|
111
|
+
sourceId: (0, generate_id_1.default)(),
|
|
119
112
|
channelNames: _a.channelNames,
|
|
120
113
|
channelFormat: 'float32',
|
|
121
114
|
sampleRate: 100 * Math.random(),
|
|
@@ -123,10 +116,7 @@ LslStreamInfoTest.defaultOptions = {
|
|
|
123
116
|
exports.default = LslStreamInfoTest;
|
|
124
117
|
__decorate([
|
|
125
118
|
(0, test_utils_1.test)()
|
|
126
|
-
], LslStreamInfoTest, "
|
|
127
|
-
__decorate([
|
|
128
|
-
(0, test_utils_1.test)()
|
|
129
|
-
], LslStreamInfoTest, "throwsWithMissingRequiredOptions", null);
|
|
119
|
+
], LslStreamInfoTest, "createsInstance", null);
|
|
130
120
|
__decorate([
|
|
131
121
|
(0, test_utils_1.test)()
|
|
132
122
|
], LslStreamInfoTest, "generatesUniqueNameIfNotProvided", null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInfo.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest';
|
|
2
|
+
export default class LslStreamInletTest extends AbstractPackageTest {
|
|
3
|
+
private static instance;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
6
|
+
protected static createsStreamInfoWithExpectedOptions(): Promise<void>;
|
|
7
|
+
protected static uniqueNameHasSetPrefix(): Promise<void>;
|
|
8
|
+
protected static callsBindingsToCreateStreamInlet(): Promise<void>;
|
|
9
|
+
private static LslStreamInlet;
|
|
10
|
+
}
|
|
@@ -10,32 +10,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
13
|
-
const LslStreamInlet_1 = __importDefault(require("../../
|
|
13
|
+
const LslStreamInlet_1 = __importDefault(require("../../impl/LslStreamInlet"));
|
|
14
14
|
const FakeStreamInfo_1 = __importDefault(require("../../testDoubles/StreamInfo/FakeStreamInfo"));
|
|
15
|
-
const
|
|
16
|
-
class LslStreamInletTest extends
|
|
15
|
+
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
16
|
+
class LslStreamInletTest extends AbstractPackageTest_1.default {
|
|
17
17
|
static async beforeEach() {
|
|
18
18
|
await super.beforeEach();
|
|
19
|
-
this.
|
|
19
|
+
this.setSpyStreamInlet();
|
|
20
20
|
this.setFakeStreamInfo();
|
|
21
21
|
this.instance = this.LslStreamInlet();
|
|
22
22
|
}
|
|
23
|
-
static async
|
|
24
|
-
test_utils_1.assert.isTruthy(this.instance, '
|
|
25
|
-
}
|
|
26
|
-
static async throwsWithMissingRequiredOptions() {
|
|
27
|
-
const err = test_utils_1.assert.doesThrow(
|
|
28
|
-
// @ts-ignore
|
|
29
|
-
() => LslStreamInlet_1.default.Create());
|
|
30
|
-
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
31
|
-
parameters: [
|
|
32
|
-
'channelNames',
|
|
33
|
-
'channelFormat',
|
|
34
|
-
'sampleRate',
|
|
35
|
-
'chunkSize',
|
|
36
|
-
'maxBuffered',
|
|
37
|
-
],
|
|
38
|
-
});
|
|
23
|
+
static async createsInstance() {
|
|
24
|
+
test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
39
25
|
}
|
|
40
26
|
static async createsStreamInfoWithExpectedOptions() {
|
|
41
27
|
test_utils_1.assert.isEqualDeep(FakeStreamInfo_1.default.callsToConstructor[0], {
|
|
@@ -51,7 +37,7 @@ class LslStreamInletTest extends AbstractLslTest_1.default {
|
|
|
51
37
|
const instance = this.LslStreamInlet({ name: undefined });
|
|
52
38
|
test_utils_1.assert.doesInclude(instance.getName(), 'lsl-inlet-', 'Name should have set prefix!');
|
|
53
39
|
}
|
|
54
|
-
static async
|
|
40
|
+
static async callsBindingsToCreateStreamInlet() {
|
|
55
41
|
const fakeInfo = this.instance.getStreamInfo();
|
|
56
42
|
test_utils_1.assert.isTruthy(fakeInfo, 'Should have created stream info!');
|
|
57
43
|
test_utils_1.assert.isEqualDeep(this.fakeLiblsl.lastCreateInletOptions, {
|
|
@@ -78,10 +64,7 @@ class LslStreamInletTest extends AbstractLslTest_1.default {
|
|
|
78
64
|
exports.default = LslStreamInletTest;
|
|
79
65
|
__decorate([
|
|
80
66
|
(0, test_utils_1.test)()
|
|
81
|
-
], LslStreamInletTest, "
|
|
82
|
-
__decorate([
|
|
83
|
-
(0, test_utils_1.test)()
|
|
84
|
-
], LslStreamInletTest, "throwsWithMissingRequiredOptions", null);
|
|
67
|
+
], LslStreamInletTest, "createsInstance", null);
|
|
85
68
|
__decorate([
|
|
86
69
|
(0, test_utils_1.test)()
|
|
87
70
|
], LslStreamInletTest, "createsStreamInfoWithExpectedOptions", null);
|
|
@@ -90,5 +73,5 @@ __decorate([
|
|
|
90
73
|
], LslStreamInletTest, "uniqueNameHasSetPrefix", null);
|
|
91
74
|
__decorate([
|
|
92
75
|
(0, test_utils_1.test)()
|
|
93
|
-
], LslStreamInletTest, "
|
|
76
|
+
], LslStreamInletTest, "callsBindingsToCreateStreamInlet", null);
|
|
94
77
|
//# sourceMappingURL=LslStreamInlet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamInlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamInlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAqD;AACrD,+EAA8E;AAC9E,iGAAwE;AAExE,iFAAwD;AAExD,MAAqB,kBAAmB,SAAQ,6BAAmB;IAGrD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;IACzC,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,mBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,mBAAM,CAAC,WAAW,CACd,wBAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACpC;YACI,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,EACD,2CAA2C,CAC9C,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sBAAsB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzD,mBAAM,CAAC,WAAW,CACd,QAAQ,CAAC,OAAO,EAAE,EAClB,YAAY,EACZ,8BAA8B,CACjC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gCAAgC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAE9C,mBAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAA;QAE7D,mBAAM,CAAC,WAAW,CACd,IAAI,CAAC,UAAU,CAAC,sBAAsB,EACtC;YACI,IAAI,EAAE,QAAQ,CAAC,eAAe;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,EACD,iCAAiC,CACpC,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAqC;QAC/D,MAAM,cAAc,GAAG;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,OAAO;SACS,CAAA;QACvB,OAAO,wBAAc,CAAC,MAAM,CAAC,cAAc,CAAmB,CAAA;IAClE,CAAC;CACJ;AA3ED,qCA2EC;AA9D0B;IADtB,IAAA,iBAAI,GAAE;+CAGN;AAGsB;IADtB,IAAA,iBAAI,GAAE;oEAcN;AAGsB;IADtB,IAAA,iBAAI,GAAE;sDASN;AAGsB;IADtB,IAAA,iBAAI,GAAE;gEAeN"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { LslSample } from '../../types';
|
|
2
|
-
import
|
|
3
|
-
export default class LslStreamOutletTest extends
|
|
2
|
+
import AbstractPackageTest from '../AbstractPackageTest';
|
|
3
|
+
export default class LslStreamOutletTest extends AbstractPackageTest {
|
|
4
4
|
private static randomOutletOptions;
|
|
5
5
|
protected static beforeEach(): Promise<void>;
|
|
6
|
-
protected static
|
|
7
|
-
protected static throwsWithInvalidChannelNames(): Promise<void>;
|
|
6
|
+
protected static throwsWithEmptyChannelNames(): Promise<void>;
|
|
8
7
|
protected static allowsZeroSampleRate(): Promise<void>;
|
|
9
8
|
protected static throwsWithInvalidSampleRate(): Promise<void>;
|
|
10
9
|
protected static throwsWithInvalidChannelFormat(): Promise<void>;
|
|
10
|
+
protected static allowsZeroChunkSize(): Promise<void>;
|
|
11
11
|
protected static throwsWithInvalidChunkSize(): Promise<void>;
|
|
12
|
+
protected static allowsZeroMaxBuffered(): Promise<void>;
|
|
12
13
|
protected static throwsWithInvalidMaxBuffered(): Promise<void>;
|
|
13
14
|
protected static throwsWithUnsupportedType(): Promise<void>;
|
|
14
15
|
protected static supportsAllKnownChannelFormats(): Promise<void>;
|
|
@@ -20,11 +21,12 @@ export default class LslStreamOutletTest extends AbstractLslTest {
|
|
|
20
21
|
protected static canDestroyOutlet(): Promise<void>;
|
|
21
22
|
protected static pushSampleShouldNotCreateMultipleOutlets(): Promise<void>;
|
|
22
23
|
protected static waitsForTenMsAfterConstructionBeforeReturning(): Promise<void>;
|
|
24
|
+
private static assertThrowsWithEmptyChannelNames;
|
|
25
|
+
private static assertThrowsInvalidSampleRate;
|
|
26
|
+
private static assertThrowsInvalidChannelFormat;
|
|
23
27
|
private static assertThrowsInvalidMaxBuffered;
|
|
24
28
|
private static assertThrowsInvalidChunkSize;
|
|
25
|
-
private static
|
|
26
|
-
private static assertThrowsInvalidChannelNames;
|
|
27
|
-
private static assertDoesThrowInvalidParameters;
|
|
29
|
+
private static createAndAssertThrows;
|
|
28
30
|
private static StringOutlet;
|
|
29
31
|
private static FloatOutlet;
|
|
30
32
|
private static LslStreamOutlet;
|
|
@@ -10,12 +10,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
13
|
-
const
|
|
14
|
-
const consts_1 = require("../../
|
|
13
|
+
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
14
|
+
const consts_1 = require("../../consts");
|
|
15
|
+
const LslStreamOutlet_1 = __importDefault(require("../../impl/LslStreamOutlet"));
|
|
16
|
+
const consts_2 = require("../../testDoubles/consts");
|
|
15
17
|
const generateRandomOutletOptions_1 = __importDefault(require("../../testDoubles/generateRandomOutletOptions"));
|
|
16
18
|
const FakeStreamInfo_1 = __importDefault(require("../../testDoubles/StreamInfo/FakeStreamInfo"));
|
|
17
|
-
const
|
|
18
|
-
class LslStreamOutletTest extends
|
|
19
|
+
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
20
|
+
class LslStreamOutletTest extends AbstractPackageTest_1.default {
|
|
19
21
|
static async beforeEach() {
|
|
20
22
|
await super.beforeEach();
|
|
21
23
|
delete LslStreamOutlet_1.default.Class;
|
|
@@ -23,27 +25,8 @@ class LslStreamOutletTest extends AbstractLslTest_1.default {
|
|
|
23
25
|
this.setFakeLiblsl();
|
|
24
26
|
this.setFakeStreamInfo();
|
|
25
27
|
}
|
|
26
|
-
static async
|
|
27
|
-
|
|
28
|
-
//@ts-ignore
|
|
29
|
-
async () => await LslStreamOutlet_1.default.Create());
|
|
30
|
-
test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
|
|
31
|
-
parameters: [
|
|
32
|
-
'name',
|
|
33
|
-
'type',
|
|
34
|
-
'sourceId',
|
|
35
|
-
'channelNames',
|
|
36
|
-
'channelFormat',
|
|
37
|
-
'sampleRate',
|
|
38
|
-
'chunkSize',
|
|
39
|
-
'maxBuffered',
|
|
40
|
-
'manufacturer',
|
|
41
|
-
'unit',
|
|
42
|
-
],
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
static async throwsWithInvalidChannelNames() {
|
|
46
|
-
await this.assertThrowsInvalidChannelNames(0);
|
|
28
|
+
static async throwsWithEmptyChannelNames() {
|
|
29
|
+
await this.assertThrowsWithEmptyChannelNames();
|
|
47
30
|
}
|
|
48
31
|
static async allowsZeroSampleRate() {
|
|
49
32
|
await this.LslStreamOutlet({ sampleRate: 0 });
|
|
@@ -53,31 +36,33 @@ class LslStreamOutletTest extends AbstractLslTest_1.default {
|
|
|
53
36
|
await this.assertThrowsInvalidSampleRate(-1.5);
|
|
54
37
|
}
|
|
55
38
|
static async throwsWithInvalidChannelFormat() {
|
|
56
|
-
await this.
|
|
57
|
-
//@ts-ignore
|
|
58
|
-
{ channelFormat: (0, test_utils_1.generateId)() }, ['channelFormat']);
|
|
39
|
+
await this.assertThrowsInvalidChannelFormat('invalid-format');
|
|
59
40
|
}
|
|
60
|
-
static async
|
|
41
|
+
static async allowsZeroChunkSize() {
|
|
61
42
|
await this.LslStreamOutlet({ chunkSize: 0 });
|
|
43
|
+
}
|
|
44
|
+
static async throwsWithInvalidChunkSize() {
|
|
62
45
|
await this.assertThrowsInvalidChunkSize(-1);
|
|
63
46
|
await this.assertThrowsInvalidChunkSize(-1.5);
|
|
64
47
|
await this.assertThrowsInvalidChunkSize(1.5);
|
|
65
48
|
}
|
|
66
|
-
static async
|
|
49
|
+
static async allowsZeroMaxBuffered() {
|
|
67
50
|
await this.LslStreamOutlet({ maxBuffered: 0 });
|
|
51
|
+
}
|
|
52
|
+
static async throwsWithInvalidMaxBuffered() {
|
|
68
53
|
await this.assertThrowsInvalidMaxBuffered(-1);
|
|
69
54
|
await this.assertThrowsInvalidMaxBuffered(-1.5);
|
|
70
55
|
await this.assertThrowsInvalidMaxBuffered(1.5);
|
|
71
56
|
}
|
|
72
57
|
static async throwsWithUnsupportedType() {
|
|
73
|
-
for (let unsupportedType of
|
|
58
|
+
for (let unsupportedType of consts_2.TEST_UNSUPPORTED_CHANNEL_FORMATS) {
|
|
74
59
|
await test_utils_1.assert.doesThrowAsync(async () => await this.LslStreamOutlet({
|
|
75
60
|
channelFormat: unsupportedType,
|
|
76
61
|
}), `This method currently does not support the ${unsupportedType} type! Please implement it.`);
|
|
77
62
|
}
|
|
78
63
|
}
|
|
79
64
|
static async supportsAllKnownChannelFormats() {
|
|
80
|
-
for (const format of
|
|
65
|
+
for (const format of consts_2.TEST_SUPPORTED_CHANNEL_FORMATS) {
|
|
81
66
|
await this.LslStreamOutlet({
|
|
82
67
|
channelFormat: format,
|
|
83
68
|
});
|
|
@@ -96,7 +81,7 @@ class LslStreamOutletTest extends AbstractLslTest_1.default {
|
|
|
96
81
|
test_utils_1.assert.isNumber(this.fakeLiblsl.lastPushSampleFloatTimestampOptions?.timestamp);
|
|
97
82
|
}
|
|
98
83
|
static async canPushStringSampleToLsl() {
|
|
99
|
-
const sample = [(0,
|
|
84
|
+
const sample = [(0, generate_id_1.default)()];
|
|
100
85
|
const outlet = await this.StringOutlet();
|
|
101
86
|
outlet.pushSample(sample);
|
|
102
87
|
test_utils_1.assert.isEqual(this.fakeLiblsl.lastPushSampleStringTimestampOptions?.outlet, this.fakeLiblsl.outlet);
|
|
@@ -105,7 +90,7 @@ class LslStreamOutletTest extends AbstractLslTest_1.default {
|
|
|
105
90
|
}
|
|
106
91
|
static async pushingStringTwiceGivesDifferentTimestamps() {
|
|
107
92
|
const outlet = await this.StringOutlet();
|
|
108
|
-
const sample = [(0,
|
|
93
|
+
const sample = [(0, generate_id_1.default)()];
|
|
109
94
|
outlet.pushSample(sample);
|
|
110
95
|
const t1 = this.fakeLiblsl.lastPushSampleStringTimestampOptions?.timestamp;
|
|
111
96
|
await this.wait(10);
|
|
@@ -149,29 +134,24 @@ class LslStreamOutletTest extends AbstractLslTest_1.default {
|
|
|
149
134
|
const endMs = Date.now();
|
|
150
135
|
test_utils_1.assert.isAbove(endMs - startMs, 10);
|
|
151
136
|
}
|
|
152
|
-
static async
|
|
153
|
-
await this.
|
|
154
|
-
'maxBuffered',
|
|
155
|
-
]);
|
|
156
|
-
}
|
|
157
|
-
static async assertThrowsInvalidChunkSize(chunkSize) {
|
|
158
|
-
await this.assertDoesThrowInvalidParameters({ chunkSize }, [
|
|
159
|
-
'chunkSize',
|
|
160
|
-
]);
|
|
137
|
+
static async assertThrowsWithEmptyChannelNames() {
|
|
138
|
+
await this.createAndAssertThrows('channelNames', [], `Invalid channel count! Must be a positive integer, not: 0.`);
|
|
161
139
|
}
|
|
162
140
|
static async assertThrowsInvalidSampleRate(sampleRate) {
|
|
163
|
-
await this.
|
|
164
|
-
'sampleRate',
|
|
165
|
-
]);
|
|
141
|
+
await this.createAndAssertThrows('sampleRate', sampleRate, `Invalid sample rate! Must be a positive number or zero, not: ${sampleRate}`);
|
|
166
142
|
}
|
|
167
|
-
static async
|
|
168
|
-
await this.
|
|
143
|
+
static async assertThrowsInvalidChannelFormat(channelFormat) {
|
|
144
|
+
await this.createAndAssertThrows('channelFormat', channelFormat, `Invalid channel format! Must be one of: ${consts_1.CHANNEL_FORMATS.join(', ')}, not ${channelFormat}.`);
|
|
169
145
|
}
|
|
170
|
-
static async
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
});
|
|
146
|
+
static async assertThrowsInvalidMaxBuffered(maxBuffered) {
|
|
147
|
+
await this.createAndAssertThrows('maxBuffered', maxBuffered, `Invalid max buffered! Must be a positive integer or zero, not: ${maxBuffered}`);
|
|
148
|
+
}
|
|
149
|
+
static async assertThrowsInvalidChunkSize(chunkSize) {
|
|
150
|
+
await this.createAndAssertThrows('chunkSize', chunkSize, `Invalid chunk size! Must be a positive integer or zero, not: ${chunkSize}`);
|
|
151
|
+
}
|
|
152
|
+
static async createAndAssertThrows(option, value, expectedMessage) {
|
|
153
|
+
const err = await test_utils_1.assert.doesThrowAsync(async () => await this.LslStreamOutlet({ [option]: value }));
|
|
154
|
+
test_utils_1.assert.isTrue(err.message.includes(expectedMessage), 'Did not receive the expected error!');
|
|
175
155
|
}
|
|
176
156
|
static async StringOutlet() {
|
|
177
157
|
return await this.LslStreamOutlet({ channelFormat: 'string' });
|
|
@@ -189,10 +169,7 @@ class LslStreamOutletTest extends AbstractLslTest_1.default {
|
|
|
189
169
|
exports.default = LslStreamOutletTest;
|
|
190
170
|
__decorate([
|
|
191
171
|
(0, test_utils_1.test)()
|
|
192
|
-
], LslStreamOutletTest, "
|
|
193
|
-
__decorate([
|
|
194
|
-
(0, test_utils_1.test)()
|
|
195
|
-
], LslStreamOutletTest, "throwsWithInvalidChannelNames", null);
|
|
172
|
+
], LslStreamOutletTest, "throwsWithEmptyChannelNames", null);
|
|
196
173
|
__decorate([
|
|
197
174
|
(0, test_utils_1.test)()
|
|
198
175
|
], LslStreamOutletTest, "allowsZeroSampleRate", null);
|
|
@@ -202,9 +179,15 @@ __decorate([
|
|
|
202
179
|
__decorate([
|
|
203
180
|
(0, test_utils_1.test)()
|
|
204
181
|
], LslStreamOutletTest, "throwsWithInvalidChannelFormat", null);
|
|
182
|
+
__decorate([
|
|
183
|
+
(0, test_utils_1.test)()
|
|
184
|
+
], LslStreamOutletTest, "allowsZeroChunkSize", null);
|
|
205
185
|
__decorate([
|
|
206
186
|
(0, test_utils_1.test)()
|
|
207
187
|
], LslStreamOutletTest, "throwsWithInvalidChunkSize", null);
|
|
188
|
+
__decorate([
|
|
189
|
+
(0, test_utils_1.test)()
|
|
190
|
+
], LslStreamOutletTest, "allowsZeroMaxBuffered", null);
|
|
208
191
|
__decorate([
|
|
209
192
|
(0, test_utils_1.test)()
|
|
210
193
|
], LslStreamOutletTest, "throwsWithInvalidMaxBuffered", null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslStreamOutlet.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import AbstractSpruceTest from '@sprucelabs/test-utils';
|
|
2
|
+
export default class LslWebSocketBridgeTest extends AbstractSpruceTest {
|
|
3
|
+
private static instance;
|
|
4
|
+
protected static beforeEach(): Promise<void>;
|
|
5
|
+
protected static createsInstance(): Promise<void>;
|
|
6
|
+
private static LslWebSocketBridge;
|
|
7
|
+
}
|