UNPKG

grunt-multi-dest

Version:

Run predefined tasks multiple times to copy their output to multiple destinations and avoid duplication

66 lines (51 loc) 3.43 kB
'use strict'; var grunt = require('grunt'); var getDirRecursiveSync = require('./get-dir-recursive-sync'); var should = require('should'); var destination; describe('Strictly specified tasks with multiple `files` defined', function(){ before(function(){ destination = getDirRecursiveSync('./test/tmp/'); }); describe('destination', function(){ it('should contain no extra files', function(){ destination.should.have.length(32); }); it('should have first dest-set files copied to exact locations', function(){ destination.should.containEql('./test/tmp/multidest_3/test/fixtures/input1.txt'); destination.should.containEql('./test/tmp/multidest_3/test/fixtures/input2.txt'); destination.should.containEql('./test/tmp/multidest_4/test/fixtures/input1.txt'); destination.should.containEql('./test/tmp/multidest_4/test/fixtures/input2.txt'); destination.should.containEql('./test/tmp/multidest_3/input3.txt'); destination.should.containEql('./test/tmp/multidest_3/input4.txt'); destination.should.containEql('./test/tmp/multidest_4/input3.txt'); destination.should.containEql('./test/tmp/multidest_4/input4.txt'); destination.should.containEql('./test/tmp/multidest_3/input5.txt'); destination.should.containEql('./test/tmp/multidest_3/input6.txt'); destination.should.containEql('./test/tmp/multidest_3/subdir/input7.txt'); destination.should.containEql('./test/tmp/multidest_3/subdir/input8.txt'); destination.should.containEql('./test/tmp/multidest_4/input5.txt'); destination.should.containEql('./test/tmp/multidest_4/input6.txt'); destination.should.containEql('./test/tmp/multidest_4/subdir/input7.txt'); destination.should.containEql('./test/tmp/multidest_4/subdir/input8.txt'); }); it('should have second dest-set files copied to exact locations', function(){ destination.should.containEql('./test/tmp/multidest_5/test/fixtures/input1.txt'); destination.should.containEql('./test/tmp/multidest_5/test/fixtures/input2.txt'); destination.should.containEql('./test/tmp/multidest_6/test/fixtures/input1.txt'); destination.should.containEql('./test/tmp/multidest_6/test/fixtures/input2.txt'); destination.should.containEql('./test/tmp/multidest_5/input3.txt'); destination.should.containEql('./test/tmp/multidest_5/input4.txt'); destination.should.containEql('./test/tmp/multidest_6/input3.txt'); destination.should.containEql('./test/tmp/multidest_6/input4.txt'); destination.should.containEql('./test/tmp/multidest_5/input5.txt'); destination.should.containEql('./test/tmp/multidest_5/input6.txt'); destination.should.containEql('./test/tmp/multidest_5/subdir/input7.txt'); destination.should.containEql('./test/tmp/multidest_5/subdir/input8.txt'); destination.should.containEql('./test/tmp/multidest_6/input5.txt'); destination.should.containEql('./test/tmp/multidest_6/input6.txt'); destination.should.containEql('./test/tmp/multidest_6/subdir/input7.txt'); destination.should.containEql('./test/tmp/multidest_6/subdir/input8.txt'); }); }); });