Enable low-frequency RTW analyzer range
This commit is contained in:
@@ -3,6 +3,7 @@ import assert from 'node:assert/strict';
|
||||
|
||||
const html = fs.readFileSync(new URL('../www/index.html', import.meta.url), 'utf8');
|
||||
const main = fs.readFileSync(new URL('../www/main.js', import.meta.url), 'utf8');
|
||||
const options = fs.readFileSync(new URL('../www/ui/options.js', import.meta.url), 'utf8');
|
||||
const realtime = fs.readFileSync(new URL('../www/views/realtime.js', import.meta.url), 'utf8');
|
||||
|
||||
const styleSelect = html.match(/<select\b[^>]*\bid="styleSel"[^>]*>/)?.[0] || '';
|
||||
@@ -17,5 +18,9 @@ assert((realtime.match(/applyPeakHold\(state, integrated, CONFIG, range\)/g) ||
|
||||
'every RTA engine must advance peak hold on the display clock');
|
||||
assert(/useIirEngine[^]*?applyRealtimeBarBallistics\(state, displayBase, CONFIG, range\)/.test(realtime),
|
||||
'native IIR bars must advance their visible release on the display clock');
|
||||
assert(/h\('opt_rtaFreq', v => \{\s*CONFIG\.RTA_FREQ_RANGE = \(v === 'lf'\) \? 'lf' : 'norm'/.test(options),
|
||||
'the low-frequency range must remain selectable in the RTW layout');
|
||||
assert(!/RTA_FREQ_RANGE\s*=\s*CONFIG\.RTA_BAR_LAYOUT\s*===\s*'rtw'\s*\?\s*'norm'/.test(options),
|
||||
'the RTW layout must not force the normal frequency range');
|
||||
|
||||
console.log('GUI contract regression tests passed');
|
||||
|
||||
@@ -31,9 +31,9 @@ const context = vm.createContext({
|
||||
Number,
|
||||
normalizeCorrelationResponseSeconds: correlationContext.normalizeCorrelationResponseSeconds,
|
||||
getRtwCenters(mode) {
|
||||
if (mode === '1_12') return new Array(121).fill(0);
|
||||
if (mode === '1_6') return new Array(61).fill(0);
|
||||
return new Array(31).fill(0);
|
||||
if (mode === '1_12') return new Array(145).fill(0);
|
||||
if (mode === '1_6') return new Array(73).fill(0);
|
||||
return new Array(37).fill(0);
|
||||
},
|
||||
});
|
||||
vm.runInContext(functionSource.replace('export function', 'function'), context);
|
||||
@@ -56,7 +56,7 @@ const forced = context.buildRtaRuntimeConfig({
|
||||
});
|
||||
assert.equal(forced.engine, 'iir');
|
||||
assert.equal(forced.bpo, '1_12');
|
||||
assert.equal(forced.freqRange, 'norm');
|
||||
assert.equal(forced.freqRange, 'lf');
|
||||
assert.equal(forced.order, 6);
|
||||
assert.equal(forced.detector, 'peak');
|
||||
assert.equal(forced.rtaPeakHoldMode, 'fall');
|
||||
@@ -64,7 +64,7 @@ assert.equal(forced.rtaPeakHoldSeconds, 4);
|
||||
assert.equal(forced.rtaPeakDecayDbPerSecond, 20);
|
||||
assert.equal(forced.rtaPeakResetToken, 9);
|
||||
assert.equal(forced.tauFast, 0.125);
|
||||
assert.equal(forced.rtwCenters.length, 121);
|
||||
assert.equal(forced.rtwCenters.length, 145);
|
||||
assert.equal(forced.correlationResponseS, 2.5);
|
||||
assert.equal(forced.correlationSilenceThresholdRmsDbfs, -50);
|
||||
assert.equal(forced.correlationResetToken, 7);
|
||||
@@ -99,6 +99,8 @@ assert.equal(selectionContext.applyRtaBpoSelection('1_3'), '1_3');
|
||||
assert.equal(selectionContext.CONFIG.RTA_BAR_LAYOUT, 'rtw');
|
||||
|
||||
const twelfthCenters = getRtwCenters('1_12');
|
||||
assert.equal(twelfthCenters[0], 5);
|
||||
assert.equal(twelfthCenters.at(-1), 20000);
|
||||
const staleTwelfthPacket = {
|
||||
engine: 'iir',
|
||||
bpo: '1_12',
|
||||
|
||||
Reference in New Issue
Block a user