level-filesystem
Version:
Full implementation of the fs module on top of leveldb
91 lines (71 loc) • 1.78 kB
JavaScript
var test = require('./helpers/test');
var concat = require('concat-stream');
test('createWriteStream', function(fs, t) {
var ws = fs.createWriteStream('/test.txt');
ws.write('hello ');
ws.write('hi ');
ws.write('ho ');
ws.write('hey ');
ws.end('world');
ws.on('finish', function() {
fs.readFile('/test.txt', 'utf-8', function(err, buf) {
t.ok(!err);
t.same(buf, 'hello hi ho hey world');
t.end();
});
});
});
test('createWriteStream big', function(fs, t) {
var ws = fs.createWriteStream('/test.txt');
var big = new Buffer(100 * 1024);
ws.end(big);
ws.on('finish', function() {
fs.readFile('/test.txt', function(err, buf) {
t.ok(!err);
t.same(buf, big);
t.end();
});
});
});
test('createWriteStream append', function(fs, t) {
var ws = fs.createWriteStream('/test.txt');
ws.write('hello ');
ws.end('world');
ws.on('finish', function() {
var ws = fs.createWriteStream('/test.txt', {flags:'a'});
ws.write(' hej ');
ws.end('verden');
ws.on('finish', function() {
fs.readFile('/test.txt', 'utf-8', function(err, buf) {
t.ok(!err);
t.same(buf, 'hello world hej verden');
t.end();
});
});
});
});
test('createWriteStream not exists', function(fs, t) {
var ws = fs.createWriteStream('/test.txt');
ws.write('hello ');
ws.end('world');
ws.on('finish', function() {
var ws = fs.createWriteStream('/test.txt', {flags:'wx'});
ws.write(' hej ');
ws.end('verden');
ws.on('error', function(err) {
t.ok(err);
t.same(err.code, 'EEXIST');
t.end();
});
});
});
test('createWriteStream is dir', function(fs, t) {
var ws = fs.createWriteStream('/');
ws.write('hello ');
ws.end('world');
ws.on('error', function(err) {
t.ok(err);
t.same(err.code, 'EISDIR');
t.end();
});
});