75 lines
2.1 KiB
TypeScript
75 lines
2.1 KiB
TypeScript
const assert = require('assert');
|
|
|
|
import ExcellentExport, { ConvertOptions } from '../src/excellentexport';
|
|
|
|
|
|
describe('Fix data', function() {
|
|
beforeEach(() => {
|
|
window.URL.createObjectURL = () => "blob:fake_URL";
|
|
|
|
document.body.innerHTML = '';
|
|
const element = document.createElement("div");
|
|
element.innerHTML = '<a id="anchor">Link</a>';
|
|
|
|
document.body.appendChild(element);
|
|
});
|
|
|
|
it('should fix values', function() {
|
|
const options = {
|
|
anchor: 'anchor',
|
|
filename: 'data_from_array',
|
|
format: 'xlsx'
|
|
} as ConvertOptions;
|
|
|
|
const sheets = [
|
|
{
|
|
name: 'Sheet Name Here 1',
|
|
from: {
|
|
array: [
|
|
['hello', '<td>hello</td>', 'bye'],
|
|
]
|
|
},
|
|
fixValue: (value, row, col) => {
|
|
let v = value.replace(/<br>/gi, "\n");
|
|
let strippedString = v.replace(/(<([^>]+)>)/gi, "");
|
|
return strippedString;
|
|
}
|
|
}
|
|
];
|
|
|
|
const workbook = ExcellentExport.convert(options, sheets);
|
|
assert.ok(workbook, 'Result must not be null');
|
|
});
|
|
|
|
it('should process the whole array', function() {
|
|
const options = {
|
|
anchor: 'anchor',
|
|
filename: 'data_from_array',
|
|
format: 'xlsx'
|
|
} as ConvertOptions;
|
|
|
|
const sheets = [
|
|
{
|
|
name: 'Sheet Name Here 1',
|
|
from: {
|
|
array: [
|
|
['hello', '<td>hello</td>', 'bye'],
|
|
]
|
|
},
|
|
fixData: (array) => {
|
|
return array.map(r => {
|
|
return r.map(v => {
|
|
return "fixed-" + v;
|
|
})
|
|
});
|
|
}
|
|
}
|
|
];
|
|
|
|
const workbook = ExcellentExport.convert(options, sheets);
|
|
assert.ok(workbook, 'Result must not be null');
|
|
});
|
|
|
|
});
|
|
|