Skip to content

Commit

Permalink
Merge branch 'qio'
Browse files Browse the repository at this point in the history
  • Loading branch information
nfrancois committed Mar 29, 2016
2 parents 3c3fda2 + 2d98328 commit 694e557
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 31 deletions.
30 changes: 25 additions & 5 deletions bin/jsio.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,44 @@ var params = args.slice(3)
try {
switch(command){
case "create":
jsiojs.createFile(params[0])
var fileName = params[0]
jsiojs.createFile(fileName).then(function(){
success('File '+fileName+' created with success !')
})
break
case "delete":
jsiojs.deleteFile(params[0])
var fileName = params[0]
jsiojs.deleteFile(fileName).then(function(){
success('File '+fileName+' deleted with success !')
})
break
case "rename":
jsiojs.renameFile(params[0], params[1])
var oldName = params[0]
var newName = params[1]
jsiojs.renameFile(params[0], params[1]).then(function(){
success('File '+oldName+' moved to '+newName+' with success !')
})
break
case "copy":
jsiojs.copyFile(params[0], params[1])
var source = params[0]
var destination = params[1]
jsiojs.copyFile(source, destination).then(function(){
success('File '+source+' copied to '+destination+' with success !')
})
break
case "show":
jsiojs.showFile(params[0])
jsiojs.showFile(params[0]).then(function(content){
console.log(content)
})
break
default:
console.error("Invalid command" .red)
break
}
} catch(err){
console.error(err .red);
}

function success(message){
console.info(message .green)
}
40 changes: 29 additions & 11 deletions lib/jsiojs_core.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,42 @@

var fs = require("fs")
var colors = require('colors')
var FS = require("q-io/fs")

var exports = module.exports = {};

exports.createFile = function(fileName){
checkJsFile(fileName)
checkFileNotExist(fileName)
fs.writeFile(fileName, '// Generated by JsIo.js\n');
success('File '+fileName+' created with success !')
return FS.write(fileName, '// Generated by JsIo.js\n');
}

exports.deleteFile = function(fileName){
checkJsFile(fileName)
checkFileExist(fileName)
fs.unlinkSync(fileName);
success('File '+fileName+' deleted with success !' .green)
return FS.remove(fileName)
}

exports.renameFile = function(oldName, newName){
checkJsFile(oldName)
checkJsFile(newName)
checkFileExist(oldName)
checkFileNotExist(newName)
fs.renameSync(oldName, newName)
success('File '+oldName+' moved to '+newName+' with success !' .green)
return FS.rename(oldName, newName)
}

exports.copyFile = function(source, destination){
checkJsFile(source)
checkJsFile(destination)
checkFileExist(source)
checkFileNotExist(destination)
fs.createReadStream(source).pipe(fs.createWriteStream(destination));
success('File '+source+' copied to '+destination+' with success !' .green)
}

return FS.copy(source, destination);
}

exports.showFile = function(fileName){
checkJsFile(fileName)
checkFileExist(fileName)
fs.createReadStream(fileName).pipe(process.stdout);
return FS.read(fileName, "r")
}

function checkJsFile(fileName){
Expand All @@ -59,6 +56,27 @@ function checkFileExist(fileName){
if(!fs.existsSync(fileName))
throw fileName+" does not exist"
}
/* Coming soon
function checkFileNotExist(fileName){
return FS.exists(fileName).then(function(result){
if(result)
throw fileName+" already exists"
else
return true
})
}
function checkFileExist(fileName){
return FS.exists(fileName).then(function(result){
if(!result)
throw fileName+" already exists"
else
return true
})
throw fileName+" does not exist"
}
*/

function success(message){
console.info(message .green)
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@
"node": ">= 0.10.0"
},
"dependencies": {
"colors" : "~1.1.2"
"colors" : "~1.1.2",
"q-io": "~1.13.2 "
},
"devDependencies": {
"mocha": "~1.17.1",
Expand Down
36 changes: 22 additions & 14 deletions test/jsiojs_core_test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
var chai = require('chai')
var jsiojs = require('../lib/jsiojs_core')
var fs = require("fs")
var MockFs = require("q-io/fs-mock");

var mockFs = MockFs()

chai.should()
var expect = chai.expect
Expand All @@ -16,9 +19,10 @@ describe('jsiojs', function() {
var fileName = generateFileName()
fs.existsSync(fileName).should.be.false
// When
jsiojs.createFile(fileName)
// Then
fs.existsSync(fileName).should.be.true
jsiojs.createFile(fileName).then(function(){
// Then
fs.existsSync(fileName).should.be.true
})
})
})

Expand Down Expand Up @@ -66,9 +70,11 @@ describe('jsiojs', function() {
fs.writeFileSync(fileName,"")
fs.existsSync(fileName).should.be.true
// When
jsiojs.deleteFile(fileName)
// Then
fs.existsSync(fileName).should.be.false
jsiojs.deleteFile(fileName).then(function(){
// Then
fs.existsSync(fileName).should.be.false
})

})
})

Expand Down Expand Up @@ -117,10 +123,11 @@ describe('jsiojs', function() {
var newName = generateFileName()
fs.existsSync(newName).should.be.false
// When
jsiojs.renameFile(oldName, newName)
// Then
fs.existsSync(oldName).should.be.false
fs.existsSync(newName).should.be.true
jsiojs.renameFile(oldName, newName).then(function(){
// Then
fs.existsSync(oldName).should.be.false
fs.existsSync(newName).should.be.true
})
})
})

Expand Down Expand Up @@ -208,10 +215,11 @@ describe('jsiojs', function() {
var dest = generateFileName()
fs.existsSync(dest).should.be.false
// When
jsiojs.copyFile(src, dest)
// Then
fs.existsSync(src).should.be.true
fs.existsSync(dest).should.be.true
jsiojs.copyFile(src, dest).then(function function_name(argument) {
// Then
fs.existsSync(src).should.be.true
fs.existsSync(dest).should.be.true
})
})
})

Expand Down

0 comments on commit 694e557

Please sign in to comment.