| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/gavin/workspace/readjs/node_modules/gulp-footer/test/ |
Upload File : |
/* jshint node: true */
/* global describe, it, beforeEach */
'use strict';
var footer = require('../');
var should = require('should');
var gutil = require('gulp-util');
require('mocha');
describe('gulp-footer', function() {
var fakeFile;
function getFakeFile(fileContent){
return new gutil.File({
path: './test/fixture/file.js',
cwd: './test/',
base: './test/fixture/',
contents: new Buffer(fileContent || '')
});
}
beforeEach(function(){
fakeFile = getFakeFile('Hello world');
});
describe('footer', function() {
it('file should pass through', function(done) {
var file_count = 0;
var stream = footer();
stream.on('data', function(newFile){
should.exist(newFile);
should.exist(newFile.path);
should.exist(newFile.relative);
should.exist(newFile.contents);
newFile.path.should.equal('./test/fixture/file.js');
newFile.relative.should.equal('file.js');
newFile.contents.toString().should.equal('Hello world');
++file_count;
});
stream.once('end', function () {
file_count.should.equal(1);
done();
});
stream.write(fakeFile);
stream.end();
});
it('should append the footer to the file content', function(done) {
var stream = footer(' : before I said');
stream.on('data', function (newFile) {
should.exist(newFile.contents);
newFile.contents.toString().should.equal('Hello world : before I said');
});
stream.once('end', done);
stream.write(fakeFile);
stream.end();
});
it('should format the footer', function(done) {
var stream = footer(' : and then <%= foo %> said', { foo : 'you' } );
//var stream = footer('And then ${foo} said : ', { foo : 'you' } );
stream.on('data', function (newFile) {
should.exist(newFile.contents);
newFile.contents.toString().should.equal('Hello world : and then you said');
});
stream.once('end', done);
stream.write(fakeFile);
stream.end();
});
it('should format the footer (ES6 delimiters)', function(done) {
var stream = footer(' : and then ${foo} said', { foo : 'you' } );
stream.on('data', function (newFile) {
should.exist(newFile.contents);
newFile.contents.toString().should.equal('Hello world : and then you said');
});
stream.once('end', done);
stream.write(fakeFile);
stream.end();
});
it('should access to the current file', function(done) {
var stream = footer('\n<%= file.relative %>\n<%= file.path %>');
stream.on('data', function (newFile) {
should.exist(newFile.contents);
newFile.contents.toString().should.equal('Hello world\nfile.js\n./test/fixture/file.js');
});
stream.once('end', done);
stream.write(fakeFile);
stream.end();
});
});
});