wsjtx-lib 1.2.5 → 2.0.1
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 +1 -1
- package/dist/src/index.d.ts +15 -163
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +89 -290
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +32 -170
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +3 -78
- package/dist/src/types.js.map +1 -1
- package/dist/test/wsjtx.basic.test.d.ts +3 -2
- package/dist/test/wsjtx.basic.test.d.ts.map +1 -1
- package/dist/test/wsjtx.basic.test.js +63 -200
- package/dist/test/wsjtx.basic.test.js.map +1 -1
- package/dist/test/wsjtx.test.d.ts +16 -7
- package/dist/test/wsjtx.test.d.ts.map +1 -1
- package/dist/test/wsjtx.test.js +297 -560
- package/dist/test/wsjtx.test.js.map +1 -1
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/build-info.json +1 -1
- package/prebuilds/darwin-arm64/libfftw3f.3.dylib +0 -0
- package/prebuilds/darwin-arm64/libfftw3f_threads.3.dylib +0 -0
- package/prebuilds/darwin-arm64/libwsjtx_core.dylib +0 -0
- package/prebuilds/darwin-arm64/wsjtx_lib_nodejs.node +0 -0
- package/prebuilds/darwin-x64/build-info.json +1 -1
- package/prebuilds/darwin-x64/libfftw3f.3.dylib +0 -0
- package/prebuilds/darwin-x64/libfftw3f_threads.3.dylib +0 -0
- package/prebuilds/darwin-x64/libwsjtx_core.dylib +0 -0
- package/prebuilds/darwin-x64/wsjtx_lib_nodejs.node +0 -0
- package/prebuilds/linux-arm64/build-info.json +1 -1
- package/prebuilds/linux-arm64/libwsjtx_core.so +0 -0
- package/prebuilds/linux-arm64/wsjtx_lib_nodejs.node +0 -0
- package/prebuilds/linux-x64/build-info.json +1 -1
- package/prebuilds/linux-x64/libwsjtx_core.so +0 -0
- package/prebuilds/linux-x64/wsjtx_lib_nodejs.node +0 -0
- package/prebuilds/win32-x64/build-info.json +1 -1
- package/prebuilds/win32-x64/wsjtx_core.dll +0 -0
- package/prebuilds/win32-x64/wsjtx_lib_nodejs.node +0 -0
|
@@ -1,218 +1,81 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Basic smoke tests for the WSJTX library.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Kept intentionally fast (<5 s) so they can run in CI on every PR.
|
|
5
|
+
* Heavy round-trip and option-coverage tests live in `wsjtx.test.ts`.
|
|
5
6
|
*/
|
|
6
|
-
import { describe, it, beforeEach
|
|
7
|
+
import { describe, it, beforeEach } from 'node:test';
|
|
7
8
|
import assert from 'node:assert';
|
|
8
|
-
// Import WSJTX library and types
|
|
9
9
|
import { WSJTXLib, WSJTXMode, WSJTXError } from '../src/index.js';
|
|
10
|
-
describe('WSJTX
|
|
10
|
+
describe('WSJTX library — smoke', () => {
|
|
11
11
|
let lib;
|
|
12
12
|
beforeEach(() => {
|
|
13
|
-
lib = new WSJTXLib({
|
|
14
|
-
maxThreads: 4,
|
|
15
|
-
debug: true
|
|
16
|
-
});
|
|
13
|
+
lib = new WSJTXLib({ maxThreads: 4 });
|
|
17
14
|
});
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
it('constructs a library instance', () => {
|
|
16
|
+
assert.ok(lib instanceof WSJTXLib);
|
|
20
17
|
});
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
assert.ok(lib instanceof WSJTXLib);
|
|
24
|
-
});
|
|
25
|
-
it('should support custom configuration', () => {
|
|
26
|
-
const customLib = new WSJTXLib({
|
|
27
|
-
maxThreads: 8,
|
|
28
|
-
debug: false
|
|
29
|
-
});
|
|
30
|
-
assert.ok(customLib instanceof WSJTXLib);
|
|
31
|
-
});
|
|
32
|
-
it('should return correct FT8 sample rate', () => {
|
|
33
|
-
const sampleRate = lib.getSampleRate(WSJTXMode.FT8);
|
|
34
|
-
assert.strictEqual(sampleRate, 48000);
|
|
35
|
-
});
|
|
36
|
-
it('should return correct FT8 transmission duration', () => {
|
|
37
|
-
const duration = lib.getTransmissionDuration(WSJTXMode.FT8);
|
|
38
|
-
assert.ok(Math.abs(duration - 12.64) < 0.1);
|
|
39
|
-
});
|
|
40
|
-
it('should correctly check encoding support', () => {
|
|
41
|
-
assert.strictEqual(lib.isEncodingSupported(WSJTXMode.FT8), true);
|
|
42
|
-
assert.strictEqual(lib.isDecodingSupported(WSJTXMode.FT8), true);
|
|
43
|
-
});
|
|
44
|
-
it('should return all mode capabilities', () => {
|
|
45
|
-
const capabilities = lib.getAllModeCapabilities();
|
|
46
|
-
assert.ok(capabilities.length > 0);
|
|
47
|
-
assert.ok('mode' in capabilities[0]);
|
|
48
|
-
assert.ok('encodingSupported' in capabilities[0]);
|
|
49
|
-
assert.ok('decodingSupported' in capabilities[0]);
|
|
50
|
-
assert.ok('sampleRate' in capabilities[0]);
|
|
51
|
-
assert.ok('duration' in capabilities[0]);
|
|
52
|
-
});
|
|
18
|
+
it('reports FT8 sample rate of 48 kHz', () => {
|
|
19
|
+
assert.strictEqual(lib.getSampleRate(WSJTXMode.FT8), 48000);
|
|
53
20
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
await assert.rejects(lib.decode(999, audioData, 1000), WSJTXError);
|
|
58
|
-
});
|
|
59
|
-
it('should validate frequency parameter', async () => {
|
|
60
|
-
const audioData = new Float32Array(1000);
|
|
61
|
-
await assert.rejects(lib.decode(WSJTXMode.FT8, audioData, -1000), WSJTXError);
|
|
62
|
-
});
|
|
63
|
-
it('should validate audio data parameter', async () => {
|
|
64
|
-
await assert.rejects(lib.decode(WSJTXMode.FT8, new Float32Array(0), 1000), WSJTXError);
|
|
65
|
-
});
|
|
66
|
-
it('should validate message parameter', async () => {
|
|
67
|
-
await assert.rejects(lib.encode(WSJTXMode.FT8, '', 1000), WSJTXError);
|
|
68
|
-
await assert.rejects(lib.encode(WSJTXMode.FT8, 'x'.repeat(30), 1000), WSJTXError);
|
|
69
|
-
});
|
|
21
|
+
it('reports FT8 supports both encode and decode', () => {
|
|
22
|
+
assert.ok(lib.isEncodingSupported(WSJTXMode.FT8));
|
|
23
|
+
assert.ok(lib.isDecodingSupported(WSJTXMode.FT8));
|
|
70
24
|
});
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
assert.ok(Array.isArray(messages));
|
|
75
|
-
});
|
|
76
|
-
it('should clear message queue', () => {
|
|
77
|
-
// Pull messages twice to ensure queue is cleared
|
|
78
|
-
lib.pullMessages();
|
|
79
|
-
const messages = lib.pullMessages();
|
|
80
|
-
assert.strictEqual(messages.length, 0);
|
|
81
|
-
});
|
|
25
|
+
it('reports JT65 is decode-only', () => {
|
|
26
|
+
assert.strictEqual(lib.isEncodingSupported(WSJTXMode.JT65), false);
|
|
27
|
+
assert.ok(lib.isDecodingSupported(WSJTXMode.JT65));
|
|
82
28
|
});
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
assert.strictEqual(intData.length, floatData.length);
|
|
89
|
-
assert.strictEqual(intData[0], 0);
|
|
90
|
-
assert.ok(Math.abs(intData[1] - 16384) < 10);
|
|
91
|
-
assert.ok(Math.abs(intData[2] + 16384) < 10);
|
|
92
|
-
assert.ok(Math.abs(intData[3] - 32767) < 10);
|
|
93
|
-
assert.ok(Math.abs(intData[4] + 32767) < 10);
|
|
94
|
-
});
|
|
95
|
-
it('should convert Int16Array to Float32Array', async () => {
|
|
96
|
-
const intData = new Int16Array([0, 16384, -16384, 32767, -32767]);
|
|
97
|
-
const floatData = await lib.convertAudioFormat(intData, 'float32');
|
|
98
|
-
assert.ok(floatData instanceof Float32Array);
|
|
99
|
-
assert.strictEqual(floatData.length, intData.length);
|
|
100
|
-
assert.ok(Math.abs(floatData[0] - 0.0) < 0.001);
|
|
101
|
-
assert.ok(Math.abs(floatData[1] - 0.5) < 0.001);
|
|
102
|
-
assert.ok(Math.abs(floatData[2] + 0.5) < 0.001);
|
|
103
|
-
assert.ok(Math.abs(floatData[3] - 1.0) < 0.001);
|
|
104
|
-
assert.ok(Math.abs(floatData[4] + 1.0) < 0.001);
|
|
105
|
-
});
|
|
106
|
-
it('should handle edge cases in conversion', async () => {
|
|
107
|
-
// Test empty arrays
|
|
108
|
-
const emptyFloat = new Float32Array(0);
|
|
109
|
-
const emptyInt = await lib.convertAudioFormat(emptyFloat, 'int16');
|
|
110
|
-
assert.strictEqual(emptyInt.length, 0);
|
|
111
|
-
const emptyInt16 = new Int16Array(0);
|
|
112
|
-
const emptyFloat32 = await lib.convertAudioFormat(emptyInt16, 'float32');
|
|
113
|
-
assert.strictEqual(emptyFloat32.length, 0);
|
|
114
|
-
});
|
|
115
|
-
it('should maintain precision in round-trip conversion', async () => {
|
|
116
|
-
const originalData = new Float32Array(1000);
|
|
117
|
-
for (let i = 0; i < originalData.length; i++) {
|
|
118
|
-
originalData[i] = (Math.random() - 0.5) * 2; // Range -1 to 1
|
|
119
|
-
}
|
|
120
|
-
// Convert to Int16Array and back
|
|
121
|
-
const intData = await lib.convertAudioFormat(originalData, 'int16');
|
|
122
|
-
const convertedData = await lib.convertAudioFormat(intData, 'float32');
|
|
123
|
-
// Check precision
|
|
124
|
-
let maxError = 0;
|
|
125
|
-
for (let i = 0; i < originalData.length; i++) {
|
|
126
|
-
const error = Math.abs(originalData[i] - convertedData[i]);
|
|
127
|
-
maxError = Math.max(maxError, error);
|
|
128
|
-
}
|
|
129
|
-
// Should be very close (16-bit precision)
|
|
130
|
-
assert.ok(maxError < 0.001);
|
|
131
|
-
});
|
|
132
|
-
it('should handle invalid format parameter', async () => {
|
|
133
|
-
const floatData = new Float32Array([0.5]);
|
|
134
|
-
await assert.rejects(() => lib.convertAudioFormat(floatData, 'invalid'));
|
|
135
|
-
});
|
|
29
|
+
it('numeric mode enum values match expectations', () => {
|
|
30
|
+
assert.strictEqual(WSJTXMode.FT8, 0);
|
|
31
|
+
assert.strictEqual(WSJTXMode.FT4, 1);
|
|
32
|
+
assert.strictEqual(WSJTXMode.JT65JT9, 8);
|
|
33
|
+
assert.strictEqual(WSJTXMode.WSPR, 9);
|
|
136
34
|
});
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
assert.ok(capabilities.length > 0);
|
|
141
|
-
capabilities.forEach((cap) => {
|
|
142
|
-
const modeName = WSJTXMode[cap.mode];
|
|
143
|
-
assert.strictEqual(typeof modeName, 'string');
|
|
144
|
-
assert.strictEqual(typeof cap.sampleRate, 'number');
|
|
145
|
-
assert.strictEqual(typeof cap.duration, 'number');
|
|
146
|
-
assert.strictEqual(typeof cap.encodingSupported, 'boolean');
|
|
147
|
-
assert.strictEqual(typeof cap.decodingSupported, 'boolean');
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
it('should provide type-safe message objects', () => {
|
|
151
|
-
const messages = lib.pullMessages();
|
|
152
|
-
messages.forEach((msg) => {
|
|
153
|
-
assert.strictEqual(typeof msg.text, 'string');
|
|
154
|
-
assert.strictEqual(typeof msg.snr, 'number');
|
|
155
|
-
assert.strictEqual(typeof msg.deltaTime, 'number');
|
|
156
|
-
assert.strictEqual(typeof msg.deltaFrequency, 'number');
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
it('should enforce enum constraints', () => {
|
|
160
|
-
const validMode = WSJTXMode.FT8;
|
|
161
|
-
assert.strictEqual(typeof validMode, 'number');
|
|
162
|
-
assert.ok(validMode >= 0);
|
|
163
|
-
});
|
|
35
|
+
it('returns capabilities for all 10 modes', () => {
|
|
36
|
+
const caps = lib.getAllModeCapabilities();
|
|
37
|
+
assert.strictEqual(caps.length, 10);
|
|
164
38
|
});
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
assert.ok(error.code.length > 0);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
it('should validate all error codes are strings for basic errors', async () => {
|
|
195
|
-
const testCases = [
|
|
196
|
-
() => lib.decode(999, new Float32Array(1000), 1000), // Invalid mode
|
|
197
|
-
() => lib.decode(WSJTXMode.FT8, new Float32Array(1000), -1000), // Invalid frequency
|
|
198
|
-
() => lib.decode(WSJTXMode.FT8, new Float32Array(0), 1000), // Invalid audio data
|
|
199
|
-
() => lib.encode(WSJTXMode.FT8, '', 1000), // Empty message
|
|
200
|
-
() => lib.encode(WSJTXMode.FT8, 'x'.repeat(50), 1000) // Message too long
|
|
201
|
-
];
|
|
202
|
-
for (const testCase of testCases) {
|
|
203
|
-
try {
|
|
204
|
-
await testCase();
|
|
205
|
-
assert.fail('Should have thrown WSJTXError');
|
|
206
|
-
}
|
|
207
|
-
catch (error) {
|
|
208
|
-
assert.ok(error instanceof WSJTXError);
|
|
209
|
-
if (error instanceof WSJTXError && error.code) {
|
|
210
|
-
assert.strictEqual(typeof error.code, 'string');
|
|
211
|
-
assert.ok(error.code.length > 0);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
39
|
+
it('rejects invalid mode in decode', async () => {
|
|
40
|
+
await assert.rejects(() => lib.decode(999, new Float32Array(1000), { frequency: 1500 }), WSJTXError);
|
|
41
|
+
});
|
|
42
|
+
it('rejects negative frequency in decode', async () => {
|
|
43
|
+
await assert.rejects(() => lib.decode(WSJTXMode.FT8, new Float32Array(1000), { frequency: -1 }), WSJTXError);
|
|
44
|
+
});
|
|
45
|
+
it('rejects empty audio in decode', async () => {
|
|
46
|
+
await assert.rejects(() => lib.decode(WSJTXMode.FT8, new Float32Array(0), { frequency: 1500 }), WSJTXError);
|
|
47
|
+
});
|
|
48
|
+
it('pullMessages returns an array', () => {
|
|
49
|
+
assert.ok(Array.isArray(lib.pullMessages()));
|
|
50
|
+
});
|
|
51
|
+
it('Float32→Int16 audio conversion produces an Int16Array', async () => {
|
|
52
|
+
const out = await lib.convertAudioFormat(new Float32Array([-1, 0, 0.5, 1]), 'int16');
|
|
53
|
+
assert.ok(out instanceof Int16Array);
|
|
54
|
+
});
|
|
55
|
+
it('WSJTXError has a code field and extends Error', () => {
|
|
56
|
+
const e = new WSJTXError('boom', 'CODE');
|
|
57
|
+
assert.ok(e instanceof Error);
|
|
58
|
+
assert.strictEqual(e.code, 'CODE');
|
|
59
|
+
});
|
|
60
|
+
it('decode of silence completes successfully with empty messages', async () => {
|
|
61
|
+
const r = await lib.decode(WSJTXMode.FT8, new Float32Array(48000 * 13), {
|
|
62
|
+
frequency: 1500,
|
|
63
|
+
threads: 1,
|
|
215
64
|
});
|
|
65
|
+
assert.strictEqual(r.success, true);
|
|
66
|
+
assert.deepStrictEqual(r.messages, []);
|
|
67
|
+
});
|
|
68
|
+
it('decode accepts dxCall, dxGrid, and freq range options without crashing', async () => {
|
|
69
|
+
const r = await lib.decode(WSJTXMode.FT8, new Float32Array(48000 * 13), {
|
|
70
|
+
frequency: 1500,
|
|
71
|
+
threads: 1,
|
|
72
|
+
dxCall: 'K1ABC',
|
|
73
|
+
dxGrid: 'FN20',
|
|
74
|
+
lowFreq: 200,
|
|
75
|
+
highFreq: 4000,
|
|
76
|
+
tolerance: 20,
|
|
77
|
+
});
|
|
78
|
+
assert.strictEqual(r.success, true);
|
|
216
79
|
});
|
|
217
80
|
});
|
|
218
81
|
//# sourceMappingURL=wsjtx.basic.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsjtx.basic.test.js","sourceRoot":"","sources":["../../test/wsjtx.basic.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wsjtx.basic.test.js","sourceRoot":"","sources":["../../test/wsjtx.basic.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Comprehensive regression tests for the WSJTX library.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Coverage targets:
|
|
5
|
+
* - Basic queries (mode caps, sample rate, transmission duration)
|
|
6
|
+
* - DecodeOptions: every field (frequency, threads, lowFreq, highFreq,
|
|
7
|
+
* tolerance, dxCall, dxGrid) — make sure they don't crash and that
|
|
8
|
+
* range-based decoding actually picks up signals it should and rejects
|
|
9
|
+
* signals out of range.
|
|
10
|
+
* - Encode → Decode round-trip for FT8 and FT4 across multiple message
|
|
11
|
+
* forms (CQ, signal report, 73, RRR, grid).
|
|
12
|
+
* - Float32 vs Int16 audio paths.
|
|
13
|
+
* - convertAudioFormat in both directions.
|
|
14
|
+
* - decodeWSPR signature smoke test.
|
|
15
|
+
* - Error handling: invalid mode / freq / audio / message.
|
|
16
|
+
*
|
|
17
|
+
* Tests run on compiled output (`node --test dist/test/wsjtx.test.js`),
|
|
18
|
+
* so the import path uses .js extensions.
|
|
10
19
|
*/
|
|
11
20
|
export {};
|
|
12
21
|
//# sourceMappingURL=wsjtx.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsjtx.test.d.ts","sourceRoot":"","sources":["../../test/wsjtx.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wsjtx.test.d.ts","sourceRoot":"","sources":["../../test/wsjtx.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|