mirror of
https://github.com/lana-k/sqliteviz.git
synced 2025-12-06 10:08:52 +08:00
add tests for readAsArrayBuffer method #27
This commit is contained in:
@@ -36,10 +36,11 @@ export default {
|
||||
},
|
||||
|
||||
importFile () {
|
||||
const reader = new FileReader()
|
||||
|
||||
return this.getFileFromUser('.json')
|
||||
.then(file => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const reader = new FileReader()
|
||||
reader.onload = e => {
|
||||
resolve(e.target.result)
|
||||
}
|
||||
|
||||
@@ -87,4 +87,24 @@ describe('fileUtils.js', () => {
|
||||
fu.readFile('./foo.bar')
|
||||
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.')
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user