UNPKG

2.29 kBJavaScriptView Raw
1var concat = require('../');
2var should = require('should');
3var os = require('os');
4var path = require('path');
5var File = require('gulp-util').File;
6var Buffer = require('buffer').Buffer;
7require('mocha');
8
9describe('gulp-concat', function() {
10 describe('concat()', function() {
11 var input;
12
13 input = ['wadup'];
14 testFiles(concat('test.js'), input, 'wadup');
15 testFiles(concat('test.js', {newLine: '\r\n'}), input, 'wadup');
16 testFiles(concat('test.js', {newLine: ''}), input, 'wadup');
17
18 input = ['wadup', 'doe'];
19 testFiles(concat('test.js'), input, 'wadup\ndoe');
20 testFiles(concat('test.js', {newLine: '\r\n'}), input, 'wadup\r\ndoe');
21 testFiles(concat('test.js', {newLine: ''}), input, 'wadupdoe');
22
23 input = ['wadup', 'doe', 'hey'];
24 testFiles(concat('test.js'), input, 'wadup\ndoe\nhey');
25 testFiles(concat('test.js', {newLine: '\r\n'}), input, 'wadup\r\ndoe\r\nhey');
26 testFiles(concat('test.js', {newLine: ''}), input, 'wadupdoehey');
27
28 input = [[65, 66], [67, 68], [69, 70]];
29 testFiles(concat('test.js'), input, 'AB\nCD\nEF');
30 testFiles(concat('test.js', {newLine: '\r\n'}), input, 'AB\r\nCD\r\nEF');
31 testFiles(concat('test.js', {newLine: ''}), input, 'ABCDEF');
32
33 function testFiles(stream, contentses, result) {
34 it('should concat one or several files', function(done) {
35 stream.on('data', function(newFile){
36 should.exist(newFile);
37 should.exist(newFile.path);
38 should.exist(newFile.relative);
39 should.exist(newFile.contents);
40
41 var newFilePath = path.resolve(newFile.path);
42 var expectedFilePath = path.resolve('/home/contra/test/test.js');
43 newFilePath.should.equal(expectedFilePath);
44
45 newFile.relative.should.equal('test.js');
46 String(newFile.contents).should.equal(result);
47 Buffer.isBuffer(newFile.contents).should.equal(true);
48 done();
49 });
50
51 contentses.forEach(function(contents, i) {
52 stream.write(new File({
53 cwd: '/home/contra/',
54 base: '/home/contra/test',
55 path: '/home/contra/test/file' + i.toString() + '.js',
56 contents: new Buffer(contents)
57 }));
58 });
59
60 stream.end();
61 });
62 };
63 });
64});