fix: address all 9 findings from final calibration code review
- calibration.js: fix baseSignalName('[0]') parity with Go/C++ (>= 0 not > 0)
- calibration.test.js: add assertions for '[0]' edge case in two existing tests
- app.js: remove stale typeof guard around refreshVScaleMenu (always defined)
- app.js: call refreshTrigThresholdField on trig-signal change (both assignment sites)
- index.html: drop maxlength='16' on unit input; normaliseCal is the sole enforcer
- configcheck/main.go: delete dead nextOneOf function (no callers)
- hub_calibration_test.go: delete orphaned waitBroadcast comment (function never existed)
- calibration.go: correct arrayIndexSuffix comment to document known Go/C++ difference
- Docs/StreamHub-API.md: add calibration entry count and unit byte limits to §5 table
- spec: fix configReloaded missing path field, '16 chars'→'16 UTF-8 bytes', StreamString→char[], chain scenario→configcheck program, four→five new frames
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
42f5a726af
commit
1f8592f854
@@ -8,6 +8,9 @@ test('baseSignalName strips an element suffix', () => {
|
||||
assert.strictEqual(C.baseSignalName('Adc[12]'), 'Adc');
|
||||
assert.strictEqual(C.baseSignalName('A[1]B'), 'A[1]B');
|
||||
assert.strictEqual(C.baseSignalName(''), '');
|
||||
// A name that is entirely the suffix "[0]" must reduce to the empty string,
|
||||
// matching Go (arrayIndexSuffix regexp) and C++ (strchr truncation) behaviour.
|
||||
assert.strictEqual(C.baseSignalName('[0]'), '');
|
||||
});
|
||||
|
||||
test('calKey is stable and separates the two fields', () => {
|
||||
@@ -85,6 +88,9 @@ test('normaliseCal rejects invalid entries', () => {
|
||||
assert.strictEqual(C.normaliseCal({source: 'w', signal: 's', scale: Infinity}), null);
|
||||
assert.strictEqual(C.normaliseCal({source: 'w', signal: 's', offset: NaN}), null);
|
||||
assert.strictEqual(C.normaliseCal({source: 'w', signal: 's', scale: '2'}), null);
|
||||
// A signal name that is entirely an array-index suffix reduces to the empty
|
||||
// string after stripping, so the entry must be rejected — matching Go and C++.
|
||||
assert.strictEqual(C.normaliseCal({source: 'w', signal: '[0]'}), null);
|
||||
});
|
||||
|
||||
test('applyCal and invertCal round-trip', () => {
|
||||
|
||||
Reference in New Issue
Block a user