blob: 9927e31b1bbc47607220805b4d6e64c9f3f3bcfb [file] [log] [blame]
/**
* Temporary - The lord of tmp.
*
* Author: Veselin Todorov <hi@vesln.com>
* Licensed under the MIT License.
*/
/**
* Dependencies.
*/
var path = require('path');
var fs = require('fs');
var existsSync = fs.existsSync || path.existsSync;
var Tempfile = require('../lib/file');
var sinon = require('sinon');
var should = require('chai').should();
describe('Tempfile', function() {
it('should create file', function() {
var tmp = new Tempfile('foo');
existsSync(tmp.path).should.be.ok;
});
describe('readFile', function() {
it('should call fs.readfile', function() {
sinon.spy(fs, 'readFile');
var tmp = new Tempfile;
tmp.readFile();
fs.readFile.getCall(0).args[0].should.eql(tmp.path);
fs.readFile.restore();
});
});
describe('readFileSync', function() {
it('should call fs.readfileSync', function() {
sinon.spy(fs, 'readFileSync');
var tmp = new Tempfile;
tmp.readFileSync();
fs.readFileSync.getCall(0).args[0].should.eql(tmp.path);
fs.readFileSync.restore();
});
});
describe('writeFile', function() {
it('should call fs.readfile', function() {
sinon.spy(fs, 'writeFile');
var tmp = new Tempfile;
tmp.writeFile();
fs.writeFile.getCall(0).args[0].should.eql(tmp.path);
fs.writeFile.restore();
});
});
describe('writeFileSync', function() {
it('should call fs.writeFileSync', function() {
sinon.spy(fs, 'writeFileSync');
var tmp = new Tempfile;
tmp.writeFileSync();
fs.writeFileSync.getCall(0).args[0].should.eql(tmp.path);
fs.writeFileSync.restore();
});
});
describe('open', function() {
it('should call fs.open', function() {
sinon.spy(fs, 'open');
var tmp = new Tempfile;
tmp.open('r');
fs.open.getCall(0).args[0].should.eql(tmp.path);
fs.open.restore();
});
});
describe('openSync', function() {
it('should call fs.openSync', function() {
sinon.spy(fs, 'openSync');
var tmp = new Tempfile;
tmp.openSync('r');
fs.openSync.getCall(0).args[0].should.eql(tmp.path);
fs.openSync.restore();
});
});
describe('close', function() {
it('should call fs.close', function() {
sinon.spy(fs, 'close');
var tmp = new Tempfile;
var fd = tmp.openSync('r');
tmp.close(fd);
fs.close.getCall(0).args[0].should.eql(fd);
fs.close.restore();
});
});
describe('closeSync', function() {
it('should call fs.closeSync', function() {
sinon.spy(fs, 'closeSync');
var tmp = new Tempfile;
var fd = tmp.openSync('r');
tmp.closeSync(fd);
fs.closeSync.getCall(0).args[0].should.eql(fd);
fs.closeSync.restore();
});
});
describe('unlink', function() {
it('should call fs.unlink', function() {
sinon.spy(fs, 'unlink');
var tmp = new Tempfile;
tmp.unlink();
fs.unlink.getCall(0).args[0].should.eql(tmp.path);
fs.unlink.restore();
});
});
describe('unlinkSync', function() {
it('should call fs.readfileSync', function() {
sinon.spy(fs, 'unlinkSync');
var tmp = new Tempfile;
tmp.unlinkSync();
fs.unlinkSync.getCall(0).args[0].should.eql(tmp.path);
fs.unlinkSync.restore();
});
});
});