import assert from 'node:assert/strict'; import test from 'node:test'; import { csvCell, csvCellWithDelimiter } from '../../resources/js/lib/csv.js'; void test('CSV cells neutralize formula prefixes after spaces or controls', () => { assert.equal(csvCell('=SUM(A1:A2)'), "'=SUM(A1:A2)"); assert.equal(csvCell('\t@SUM(A1:A2)'), "'\t@SUM(A1:A2)"); assert.equal(csvCell('\uFEFF+cmd'), "'\uFEFF+cmd"); assert.equal(csvCell('-2+cmd'), "'-2+cmd"); }); void test('CSV cells preserve numeric negatives and quote/escape delimiters', () => { assert.equal(csvCell('-5000.00'), '-5000.00'); assert.equal( csvCellWithDelimiter('Planeado; realizado', ';'), '"Planeado; realizado"', ); assert.equal(csvCell('Operação, mensal'), '"Operação, mensal"'); assert.equal(csvCell('=HYPERLINK("x")'), '"\'=HYPERLINK(""x"")"'); });