21 lines
865 B
JavaScript
21 lines
865 B
JavaScript
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"")"');
|
|
});
|