mirror of
https://github.com/bower/bower.git
synced 2026-01-14 00:38:03 -05:00
72 lines
2.0 KiB
JavaScript
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']
|
|
);
|
|
});
|
|
});
|