123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 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'
- ]
- );
- });
- });
|