UNPKG

wsemi

Version:

A support package for web developer.

138 lines (126 loc) 18.4 kB
// import fs from 'fs' import assert from 'assert' import replace from '../src/replace.mjs' import b642u8arr from '../src/b642u8arr.mjs' import getDataFromExcelFileU8Arr from '../src/getDataFromExcelFileU8Arr.mjs' describe(`getDataFromExcelFileU8Arr`, function() { let c = `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` let u8a = b642u8arr(c) // let u8a = fs.readFileSync(`fn.xlsx`) let k let o = {} k = 0 o[k] = { in: { fmt: 'ltdt' }, out: { id: '2', proj_no: '93002815', hole_no: 'BH-1', top_depth: '23', bottom_depth: '25', core_shape1: 'false', core_shape2: 'false', core_shape3: 'false', core_shape4: 'true', core_shape5: 'true', core_shape6: 'true', core_shape7: 'true', core_shape8: 'false' } } it(`should return ${JSON.stringify(o[k].out)} when input ${JSON.stringify(o[k].in)}`, function() { let k = 0 let r = getDataFromExcelFileU8Arr(u8a, o[k].in) r = r[0].data[1] assert.strict.deepStrictEqual(r, o[k].out) }) k = 1 o[k] = { in: { fmt: 'ltdt', valueToString: false }, out: { id: 2, proj_no: 93002815, hole_no: 'BH-1', top_depth: 23, bottom_depth: 25, core_shape1: false, core_shape2: false, core_shape3: false, core_shape4: true, core_shape5: true, core_shape6: true, core_shape7: true, core_shape8: false } } it(`should return ${JSON.stringify(o[k].out)} when input ${JSON.stringify(o[k].in)}`, function() { let k = 1 let r = getDataFromExcelFileU8Arr(u8a, o[k].in) r = r[0].data[1] assert.strict.deepStrictEqual(r, o[k].out) }) k = 2 o[k] = { in: { fmt: 'csv' }, out: `"id","proj_no","hole_no","top_depth","bottom_depth","core_shape1","core_shape2","core_shape3","core_shape4","core_shape5","core_shape6","core_shape7","core_shape8" "1","61602905740006","BH-6","0","1","false","false","false","false","false","false","false","false" "2","93002815","BH-1","23","25","false","false","false","true","true","true","true","false" ` } it(`should return ${JSON.stringify(o[k].out)} when input ${JSON.stringify(o[k].in)}`, function() { let k = 2 let r = getDataFromExcelFileU8Arr(u8a, o[k].in) r = replace(r[0].data, '\r\n', '\n') assert.strict.deepStrictEqual(r, o[k].out) }) k = 3 o[k] = { in: { fmt: 'csv', valueToString: false }, out: `"id","proj_no","hole_no","top_depth","bottom_depth","core_shape1","core_shape2","core_shape3","core_shape4","core_shape5","core_shape6","core_shape7","core_shape8"\r\n1,61602905740006,"BH-6",0,1,false,false,false,false,false,false,false,false\r\n2,93002815,"BH-1",23,25,false,false,false,true,true,true,true,false\r\n` } it(`should return ${JSON.stringify(o[k].out)} when input ${JSON.stringify(o[k].in)}`, function() { let k = 3 let r = getDataFromExcelFileU8Arr(u8a, o[k].in) r = r[0].data // r = replace(r[0].data, '\r\n', '\n') //vs code內文字換行符號為\n assert.strict.deepStrictEqual(r, o[k].out) }) k = 4 o[k] = { in: { fmt: 'array' }, out: [ '1', '61602905740006', 'BH-6', '0', '1', 'false', 'false', 'false', 'false', 'false', 'false', 'false', 'false' ] } it(`should return ${JSON.stringify(o[k].out)} when input ${JSON.stringify(o[k].in)}`, function() { let k = 4 let r = getDataFromExcelFileU8Arr(u8a, o[k].in) r = r[0].data[1] assert.strict.deepStrictEqual(r, o[k].out) }) k = 5 o[k] = { in: { fmt: 'array', valueToString: false }, out: [ 1, 61602905740006, 'BH-6', 0, 1, false, false, false, false, false, false, false, false ] } it(`should return ${JSON.stringify(o[k].out)} when input ${JSON.stringify(o[k].in)}`, function() { let k = 5 let r = getDataFromExcelFileU8Arr(u8a, o[k].in) r = r[0].data[1] assert.strict.deepStrictEqual(r, o[k].out) }) })