2016-04-04 13:44:00 +00:00
|
|
|
"use strict";
|
2016-05-23 06:15:47 +00:00
|
|
|
require("typings-test");
|
2016-06-23 16:31:55 +00:00
|
|
|
var smartfile = require("../dist/index");
|
2016-02-03 11:52:09 +00:00
|
|
|
var beautylog = require("beautylog");
|
2016-04-04 13:44:00 +00:00
|
|
|
var gulp = require("gulp");
|
|
|
|
var gFunction = require("gulp-function");
|
2016-02-03 11:52:09 +00:00
|
|
|
var should = require("should");
|
|
|
|
var vinyl = require("vinyl");
|
2016-03-18 16:34:31 +00:00
|
|
|
describe("smartfile".yellow, function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
describe(".fs".yellow, function () {
|
2016-02-04 13:21:48 +00:00
|
|
|
describe(".fileExistsSync".yellow, function () {
|
|
|
|
it("should return an accurate boolean", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
(smartfile.fs.fileExistsSync("./test/mytest.json")).should.be.true();
|
|
|
|
(smartfile.fs.fileExistsSync("./test/notthere.json")).should.be.false();
|
2016-02-04 13:21:48 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
describe(".fileExists".yellow, function () {
|
|
|
|
it("should return a working promise", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
(smartfile.fs.fileExists("./test/mytest.json")).should.be.Promise();
|
|
|
|
(smartfile.fs.fileExists("./test/mytest.json")).should.be.fulfilled();
|
|
|
|
(smartfile.fs.fileExists("./test/notthere.json")).should.not.be.fulfilled();
|
|
|
|
});
|
|
|
|
});
|
2016-06-23 16:39:02 +00:00
|
|
|
describe(".listFoldersSync()", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
it("should get the file type from a string", function () {
|
2016-06-23 16:39:02 +00:00
|
|
|
smartfile.fs.listFoldersSync("./test/").should.containDeep(["testfolder"]);
|
|
|
|
smartfile.fs.listFoldersSync("./test/").should.not.containDeep(["notExistentFolder"]);
|
2016-06-23 16:31:55 +00:00
|
|
|
});
|
|
|
|
});
|
2016-06-23 16:39:02 +00:00
|
|
|
describe(".listFolders()", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
it("should get the file type from a string", function (done) {
|
2016-06-23 16:39:02 +00:00
|
|
|
smartfile.fs.listFolders("./test/")
|
2016-06-23 16:31:55 +00:00
|
|
|
.then(function (folderArrayArg) {
|
|
|
|
folderArrayArg.should.containDeep(["testfolder"]);
|
|
|
|
folderArrayArg.should.not.containDeep(["notExistentFolder"]);
|
|
|
|
done();
|
|
|
|
});
|
2016-02-04 13:21:48 +00:00
|
|
|
});
|
|
|
|
});
|
2016-03-18 16:34:31 +00:00
|
|
|
describe(".copy()".yellow, function () {
|
|
|
|
it("should copy a directory", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
smartfile.fs.copy("./test/testfolder/", "./test/temp/");
|
2016-03-18 16:34:31 +00:00
|
|
|
});
|
|
|
|
it("should copy a file", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
smartfile.fs.copy("./test/mytest.yaml", "./test/temp/");
|
2016-03-18 16:34:31 +00:00
|
|
|
});
|
|
|
|
it("should copy a file and rename it", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
smartfile.fs.copy("./test/mytest.yaml", "./test/temp/mytestRenamed.yaml");
|
2016-03-18 16:34:31 +00:00
|
|
|
});
|
|
|
|
});
|
2016-03-20 23:28:29 +00:00
|
|
|
describe(".remove()", function () {
|
|
|
|
it("should remove an entire directory", function () {
|
|
|
|
});
|
2016-04-02 21:03:18 +00:00
|
|
|
it("should remove single files", function () {
|
|
|
|
});
|
2016-03-20 23:28:29 +00:00
|
|
|
});
|
2016-03-18 16:34:31 +00:00
|
|
|
});
|
2016-06-23 16:31:55 +00:00
|
|
|
describe(".interpreter", function () {
|
2016-04-14 18:33:58 +00:00
|
|
|
describe(".filetype()", function () {
|
|
|
|
it("should get the file type from a string", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
smartfile.interpreter.filetype("./somefolder/data.json").should.equal("json");
|
2016-04-14 18:33:58 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
2016-06-23 16:31:55 +00:00
|
|
|
describe(".fs".yellow, function () {
|
2016-03-19 21:07:59 +00:00
|
|
|
describe("toGulpStreamSync() and toGulpDestSync", function () {
|
|
|
|
it("should produce a gulp stream", function (done) {
|
2016-06-23 16:31:55 +00:00
|
|
|
smartfile.fs.toGulpStreamSync("./test/my*")
|
|
|
|
.pipe(smartfile.fs.toGulpDestSync("./test/temp/"))
|
2016-03-19 21:07:59 +00:00
|
|
|
.pipe(gFunction(done, "atEnd"));
|
2016-03-18 16:34:31 +00:00
|
|
|
});
|
2016-03-14 02:50:14 +00:00
|
|
|
});
|
2016-03-18 16:34:31 +00:00
|
|
|
describe(".toObjectSync()".yellow, function () {
|
|
|
|
it("should read an " + ".yaml".blue + " file to an object", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
var testData = smartfile.fs.toObjectSync("./test/mytest.yaml");
|
2016-03-18 16:34:31 +00:00
|
|
|
testData.should.have.property("key1", "this works");
|
|
|
|
testData.should.have.property("key2", "this works too");
|
|
|
|
});
|
|
|
|
it("should state unknown file type for unknown file types", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
var testData = smartfile.fs.toObjectSync("./test/mytest.txt");
|
2016-03-18 16:34:31 +00:00
|
|
|
});
|
|
|
|
it("should read an " + ".json".blue + " file to an object", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
var testData = smartfile.fs.toObjectSync("./test/mytest.json");
|
2016-03-18 16:34:31 +00:00
|
|
|
testData.should.have.property("key1", "this works");
|
|
|
|
testData.should.have.property("key2", "this works too");
|
|
|
|
});
|
2016-03-14 02:50:14 +00:00
|
|
|
});
|
2016-03-19 21:07:59 +00:00
|
|
|
describe(".toStringSync()".yellow, function () {
|
|
|
|
it("should read a file to a string", function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
should.equal(smartfile.fs.toStringSync("./test/mytest.txt"), "Some TestString &&%$");
|
2016-03-19 21:07:59 +00:00
|
|
|
});
|
|
|
|
});
|
2016-03-18 16:34:31 +00:00
|
|
|
describe(".toVinylSync".yellow, function () {
|
|
|
|
it("should read an " + ".json OR .yaml".blue + " file to an " + "vinyl file object".cyan, function () {
|
2016-06-23 16:31:55 +00:00
|
|
|
var testData = smartfile.fs.toVinylSync("./test/mytest.json");
|
2016-03-18 16:34:31 +00:00
|
|
|
(vinyl.isVinyl(testData)).should.be.true();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
2016-04-04 13:44:00 +00:00
|
|
|
describe(".memory", function () {
|
|
|
|
describe(".toGulpStream()", function () {
|
|
|
|
it("should produce a valid gulp stream", function () {
|
|
|
|
var localArray = ["test1", "test2", "test3"];
|
|
|
|
smartfile.memory.toGulpStream(localArray)
|
|
|
|
.pipe(gulp.dest("./test/temp/"));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
describe("toVinylFileSync()", function () {
|
|
|
|
it("should produce a vinylFile", function () {
|
|
|
|
var localString = "myString";
|
|
|
|
var localOptions = { filename: "vinylfile2", base: "/someDir" };
|
|
|
|
(smartfile.memory.toVinylFileSync(localString, localOptions) instanceof vinyl).should.be.true();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
describe("toVinylArraySync()", function () {
|
|
|
|
it("should produce a an array of vinylfiles", function () {
|
|
|
|
var localStringArray = ["string1", "string2", "string3"];
|
|
|
|
var localOptions = { filename: "vinylfile2", base: "/someDir" };
|
|
|
|
var testResult = smartfile.memory.toVinylArraySync(localStringArray, localOptions);
|
|
|
|
testResult.should.be.Array();
|
|
|
|
(testResult.length === 3).should.be.true();
|
|
|
|
for (var myKey in testResult) {
|
|
|
|
(testResult[myKey] instanceof vinyl).should.be.true();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
describe("toStringSync()", function () {
|
|
|
|
it("should produce a String from vinyl file", function () {
|
|
|
|
var localString = smartfile.memory.toStringSync(new vinyl({
|
|
|
|
base: "/",
|
|
|
|
path: "/test.txt",
|
|
|
|
contents: new Buffer("myString")
|
|
|
|
}));
|
|
|
|
localString.should.equal("myString");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
describe("toFs()", function () {
|
|
|
|
it("should write a file to disk and return a promise", function (done) {
|
|
|
|
var localString = "myString";
|
|
|
|
smartfile.memory.toFs(localString, {
|
|
|
|
fileName: "./test/temp/testMemToFs.txt",
|
|
|
|
filePath: process.cwd()
|
|
|
|
}).then(done);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
describe("toFsSync()", function () {
|
|
|
|
it("should write a file to disk and return true if successfull", function () {
|
|
|
|
var localString = "myString";
|
|
|
|
smartfile.memory.toFsSync(localString, {
|
|
|
|
fileName: "./test/temp/testMemToFsSync.txt",
|
|
|
|
filePath: process.cwd()
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
2016-03-18 16:34:31 +00:00
|
|
|
describe(".remote", function () {
|
2016-03-19 21:07:59 +00:00
|
|
|
describe("toGulpStreamSync()", function () {
|
|
|
|
it("should produce a gulp stream", function (done) {
|
|
|
|
smartfile.remote.toGulpStreamSync("mytest.txt", "https://raw.githubusercontent.com/pushrocks/smartfile/master/test/")
|
2016-06-23 16:31:55 +00:00
|
|
|
.pipe(smartfile.fs.toGulpDestSync("./test/temp/"))
|
2016-03-19 21:07:59 +00:00
|
|
|
.pipe(gFunction(done, "atEnd"));
|
|
|
|
});
|
|
|
|
});
|
2016-03-18 16:34:31 +00:00
|
|
|
describe(".toString()", function () {
|
|
|
|
it("should load a remote file to a variable", function (done) {
|
|
|
|
this.timeout(5000);
|
|
|
|
smartfile.remote.toString("https://raw.githubusercontent.com/pushrocks/smartfile/master/test/mytest.txt")
|
|
|
|
.then(function (responseString) {
|
|
|
|
should.equal(responseString, "Some TestString &&%$");
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
it("should reject a Promise when the link is false", function (done) {
|
2016-04-02 21:03:18 +00:00
|
|
|
this.timeout(10000);
|
2016-03-18 16:34:31 +00:00
|
|
|
smartfile.remote.toString("https://push.rocks/doesnotexist.txt")
|
|
|
|
.then(function () {
|
|
|
|
throw new Error("this test should not be resolved");
|
|
|
|
}, function () {
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
2016-03-14 02:50:14 +00:00
|
|
|
});
|
|
|
|
});
|
2016-02-03 11:52:09 +00:00
|
|
|
});
|
2016-04-14 18:33:58 +00:00
|
|
|
|
2016-06-23 16:39:02 +00:00
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,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
|