Files
memfs/lib/test/volume/writeFileSync.test.js

46 lines
1.8 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var util_1 = require("./util");
var node_1 = require("../../node");
describe('writeFileSync(path, data[, options])', function () {
var data = 'asdfasidofjasdf';
it('Create a file at root (/writeFileSync.txt)', function () {
var vol = util_1.create();
vol.writeFileSync('/writeFileSync.txt', data);
var node = vol.root.getChild('writeFileSync.txt').getNode();
chai_1.expect(node).to.be.an.instanceof(node_1.Node);
chai_1.expect(node.getString()).to.equal(data);
});
it('Write to file by file descriptor', function () {
var vol = util_1.create();
var fd = vol.openSync('/writeByFd.txt', 'w');
vol.writeFileSync(fd, data);
var node = vol.root.getChild('writeByFd.txt').getNode();
chai_1.expect(node).to.be.an.instanceof(node_1.Node);
chai_1.expect(node.getString()).to.equal(data);
});
it('Write to two files (second by fd)', function () {
var vol = util_1.create();
// 1
vol.writeFileSync('/1.txt', '123');
// 2, 3, 4
var fd2 = vol.openSync('/2.txt', 'w');
var fd3 = vol.openSync('/3.txt', 'w');
var fd4 = vol.openSync('/4.txt', 'w');
vol.writeFileSync(fd2, '456');
chai_1.expect(vol.root.getChild('1.txt').getNode().getString()).to.equal('123');
chai_1.expect(vol.root.getChild('2.txt').getNode().getString()).to.equal('456');
});
it('Write at relative path that does not exist throws correct error', function () {
var vol = util_1.create();
try {
vol.writeFileSync('a/b', 'c');
throw new Error('not_this');
}
catch (err) {
chai_1.expect(err.code).to.equal('ENOENT');
}
});
});