import {readFile} from 'node:fs/promises' import test from 'ava'; import {getODSTableRawContent} from '../exports.js' test('.ods file with table:number-columns-repeated attribute in cell', async t => { const repeatedCellFileContent = (await readFile('./tests/fixtures/cellules-répétées.ods')).buffer const table = await getODSTableRawContent(repeatedCellFileContent); const feuille1 = table.get('Feuille 1') t.deepEqual(feuille1[0].length, feuille1[1].length, `First and second row should have the same number of columns`) }); test('.ods cells with dates should be recognized', async t => { const odsFileWithDates = (await readFile('./tests/fixtures/cellules avec dates.ods')).buffer const table = await getODSTableRawContent(odsFileWithDates); const feuille1 = table.get('Feuille1') const row1 = feuille1[0] t.deepEqual(row1[0].value, 'Nom') t.deepEqual(row1[1].value, 'Date de naissance') const row2 = feuille1[1] t.deepEqual(row2[0].value, 'Dav') t.deepEqual(row2[1].type, 'date') t.deepEqual(row2[1].value, '1987-03-08') const row3 = feuille1[2] t.deepEqual(row3[0].value, 'Fanny') t.deepEqual(row3[1].type, 'date') t.deepEqual(row3[1].value, '1986-06-01') }); test('.ods file with new lines in content is ', async t => { const repeatedCellFileContent = (await readFile('./tests/fixtures/cellule avec sauts.ods')).buffer const table = await getODSTableRawContent(repeatedCellFileContent); const feuille1 = table.get('Feuille1') const expectedValue = `Deviens génial, deviens génial Tu n'sais pas encore l'enfer qui t'attend Le regard des uns, le rejet des autres Si t'es bizarre, si t'es pas marrant Deviens génial, deviens génial Deviens génial, deviens génial Pourquoi t'aimeraient-ils seulement comme tu es ? (hein) Si t'es pas comme eux quand t'es naturel` t.deepEqual(feuille1[0][0].value, expectedValue) });