From 242815dc592ebe5dd9dc5d82a19fb3b6ca4031e9 Mon Sep 17 00:00:00 2001 From: Kuba Sekowski Date: Thu, 7 Mar 2024 15:11:01 +0100 Subject: [PATCH] Add a unit test for function AVERAGE with non-numeric named expressions --- test/interpreter/function-average.spec.ts | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/test/interpreter/function-average.spec.ts b/test/interpreter/function-average.spec.ts index 3cc508bd2..f2eac441e 100644 --- a/test/interpreter/function-average.spec.ts +++ b/test/interpreter/function-average.spec.ts @@ -35,10 +35,29 @@ describe('AVERAGE', () => { ['foo'], [null], ['=TRUE()'], - ['=AVERAGE(A1:A4)'] + ['=X100'], + ['=AVERAGE(A1:A5)'] ]) - expect(engine.getCellValue(adr('A5'))).toEqual(42) + expect(engine.getCellValue(adr('A6'))).toEqual(42) + }) + + it('AVERAGE ignores all nonnumeric named expression arguments', () => { + const engine = HyperFormula.buildFromArray([ + ['=AVERAGE(A, B, F)'], + ], {}, [ + { name: 'A', expression: '42' }, + { name: 'B', expression: '=42' }, + { name: 'C', expression: 'foo' }, + { name: 'D', expression: '="foo"' }, + { name: 'E', expression: null }, + { name: 'F', expression: '' }, + { name: 'G', expression: '=""' }, + { name: 'H', expression: '=TRUE()' }, + { name: 'I', expression: '=Sheet1!$X$100' }, + ]) + + expect(engine.getCellValue(adr('A1'))).toEqual(42) }) it('error when no meaningful arguments', () => {