Files
bower/test/util/removeIgnores.js
Adam Stankiewicz 0a8a4f9029 Format with prettier
2018-03-28 19:10:16 +02:00

72 lines
2.0 KiB
JavaScript

var expect = require('expect.js');
var helpers = require('../helpers');
var glob = require('glob');
var Q = require('q');
var removeIgnores = require('../../lib/util/removeIgnores');
describe('removeIgnores', function() {
var tempDir = new helpers.TempDir({
'bower.json': {},
'index.js': 'Not to ignore',
'node_modules/underscore/index.js': 'Should be ignored'
});
var ignoreTest = function(dir, meta, leftovers) {
tempDir.prepare();
var deferred = Q.defer();
removeIgnores(dir, meta).then(function() {
glob('**/*.*', { cwd: dir }, function(cb, files) {
expect(files).to.eql(leftovers);
deferred.resolve();
});
});
return deferred.promise;
};
it('removes all files in directory', function() {
return ignoreTest(tempDir.path, { ignore: ['node_modules/**/*'] }, [
'bower.json',
'index.js'
]);
});
it('removes whole directory', function() {
return ignoreTest(tempDir.path, { ignore: ['node_modules/'] }, [
'bower.json',
'index.js'
]);
});
it('removes whole directory (no ending slash)', function() {
return ignoreTest(tempDir.path, { ignore: ['node_modules'] }, [
'bower.json',
'index.js'
]);
});
it('removes all but one file', function() {
return ignoreTest(tempDir.path, { ignore: ['**/*', '!bower.json'] }, [
'bower.json'
]);
});
it('refuses to ignore bower.json', function() {
return ignoreTest(tempDir.path, { ignore: ['**/*', '!index.js'] }, [
'bower.json',
'index.js'
]);
});
it('removes all but one file deep down the tree', function() {
return ignoreTest(
tempDir.path,
{ ignore: ['**/*', '!node_modules/underscore/index.js'] },
['bower.json', 'node_modules/underscore/index.js']
);
});
});