1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-06 18:18:53 +08:00

add tests for readAsArrayBuffer method #27

This commit is contained in:
lana-k
2021-04-12 18:23:48 +02:00
parent be56079e4e
commit 5db8376f95
2 changed files with 22 additions and 1 deletions

View File

@@ -36,10 +36,11 @@ export default {
}, },
importFile () { importFile () {
const reader = new FileReader()
return this.getFileFromUser('.json') return this.getFileFromUser('.json')
.then(file => { .then(file => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const reader = new FileReader()
reader.onload = e => { reader.onload = e => {
resolve(e.target.result) resolve(e.target.result)
} }

View File

@@ -87,4 +87,24 @@ describe('fileUtils.js', () => {
fu.readFile('./foo.bar') fu.readFile('./foo.bar')
expect(window.fetch.calledOnceWith('./foo.bar')).to.equal(true) expect(window.fetch.calledOnceWith('./foo.bar')).to.equal(true)
}) })
it('readAsArrayBuffer resolves', async () => {
const blob = new Blob(['foo'])
const buffer = await fu.readAsArrayBuffer(blob)
const uint8Array = new Uint8Array(buffer)
const text = new TextDecoder().decode(uint8Array)
expect(text).to.equal('foo')
})
it('readAsArrayBuffer rejects', async () => {
const r = new FileReader()
r.readAsArrayBuffer = () => {
r.dispatchEvent(new Event('error'), )
}
sinon.stub(window, 'FileReader').returns(r)
const blob = new Blob(['foo'])
await expect(fu.readAsArrayBuffer(blob)).to.be.rejectedWith('Problem parsing input file.')
})
}) })