copy.js (953B)
1 'use strict'; 2 3 var expect = require('chai').expect; 4 var node_path = require('path'); 5 var fs = require('fs'); 6 var sync = require('../'); 7 var tmp = require('tmp'); 8 9 var root = node_path.join(__dirname, 'fixtures'); 10 11 var cases = [ 12 { 13 desc: 'should not corrupts binary files', 14 file: 'icon.png' 15 } 16 ]; 17 18 19 describe("fs.copy()", function(){ 20 cases.forEach(function (c) { 21 var i = c.only 22 ? it.only 23 : it; 24 25 function run (noOptions) { 26 i(c.desc, function (done) { 27 tmp.dir(function (err, dir) { 28 if (err) { 29 expect('failed to create tmp dir').to.equal(''); 30 return done() 31 } 32 33 var file = node_path.join(root, c.file); 34 var tmp_file = node_path.join(root, c.file); 35 36 sync.copy(file, tmp_file); 37 expect(fs.readFileSync(file).toString()).to.equal(fs.readFileSync(tmp_file).toString()); 38 done() 39 }) 40 }); 41 } 42 43 run(); 44 }); 45 ```