Create blob backed up by filesystem (#55)
* create a blob backed up by filesystem * added code coverage test for filesystem blobs * updated readme for using filesystem * install peer dep * added from to files array in package.json
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
const fs = require('fs');
|
||||
const test = require('ava');
|
||||
const Blob = require('.');
|
||||
const blobFrom = require('./from');
|
||||
const getStream = require('get-stream');
|
||||
const {Response} = require('node-fetch');
|
||||
const {TextDecoder} = require('util');
|
||||
@@ -142,3 +144,19 @@ test('Blob works with node-fetch Response.text()', async t => {
|
||||
const text = await response.text();
|
||||
t.is(text, data);
|
||||
});
|
||||
|
||||
test('blob part backed up by filesystem', async t => {
|
||||
const blob = blobFrom('./LICENSE');
|
||||
t.is(await blob.slice(0, 3).text(), 'MIT');
|
||||
t.is(await blob.slice(4, 11).text(), 'License');
|
||||
});
|
||||
|
||||
test('Reading after modified should fail', async t => {
|
||||
const blob = blobFrom('./LICENSE');
|
||||
await new Promise(resolve => setTimeout(resolve, 100));
|
||||
const now = new Date();
|
||||
// Change modified time
|
||||
fs.utimesSync('./LICENSE', now, now);
|
||||
const error = await blob.text().catch(error => error);
|
||||
t.is(error.name, 'NotReadableError');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user