rsl_fileserver
Version:
This Module enables the substitution of variable data into templates via a context variable
109 lines (88 loc) • 3.31 kB
JavaScript
var expect = require('chai').expect;
var stream = require('stream');
var fileServer = require('./../index.js');
var StreamTest = require('streamtest');
describe('fileServer', function() {
// Iterating through versions
StreamTest.versions.forEach(function(version) {
describe('for ' + version + ' streams', function() {
it('should work for a defined substitute', function(done) {
StreamTest[version].fromChunks(['{"main":"mainVal"{{ sub }}}'])
.pipe(new fileServer({sub:',"test":"testVal"'}))
.pipe(StreamTest[version].toText(function(err, text) {
if(err) {
done(err);
}
var obj = "";
console.log("Text: "+text);
try{
obj = JSON.parse(text);
}
catch(e){
expect(obj).to.be.a("object");
}
expect(JSON.stringify(obj)).to.equal(JSON.stringify({main:"mainVal",test:"testVal"}));
done();
}));
});
// here goes your code
it('should work for a true conditional', function(done) {
StreamTest[version].fromChunks(['{"main":"mainVal"{!{one:,"test":"testVal"}!}}'])
.pipe(new fileServer({one:true}))
.pipe(StreamTest[version].toText(function(err, text) {
if(err) {
done(err);
}
var obj = "";
console.log("Text: "+text);
try{
obj = JSON.parse(text);
}
catch(e){
expect(obj).to.be.a("object");
}
expect(JSON.stringify(obj)).to.equal(JSON.stringify({main:"mainVal",test:"testVal"}));
done();
}));
});
it('should work for a false conditional', function(done) {
StreamTest[version].fromChunks(['{"main":"mainVal"{!{one:,"test":"testVal"}!}}'])
.pipe(new fileServer({}))
.pipe(StreamTest[version].toText(function(err, text) {
if(err) {
done(err);
}
var obj = "";
console.log("Text: "+text);
try{
obj = JSON.parse(text);
}
catch(e){
expect(obj).to.be.a("object");
}
expect(JSON.stringify(obj)).to.equal(JSON.stringify({main:"mainVal"}));
done();
}));
});
it('should work for a repitition', function(done) {
StreamTest[version].fromChunks(['{"main":"mainVal"{@{subs:,"{{ name }}":"{{ val }}"}@}}'])
.pipe(new fileServer({subs:[{name:"test",val:"testVal"},{name:"test2",val:"testVal"}]}))
.pipe(StreamTest[version].toText(function(err, text) {
if(err) {
done(err);
}
var obj = "";
console.log("Text: "+text);
try{
obj = JSON.parse(text);
}
catch(e){
expect(obj).to.be.a("object");
}
expect(JSON.stringify(obj)).to.equal(JSON.stringify({main:"mainVal",test:"testVal",test2:"testVal"}));
done();
}));
});
});
});
});