This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
4.2 KiB
130 lines
4.2 KiB
var assert = require('assert'); |
|
var fileset = require('..'); |
|
var EventEmitter = require('events').EventEmitter; |
|
|
|
describe('Sync API - Given a **.md pattern', function() { |
|
it('returns the list of matching file in this repo', function() { |
|
var results = fileset.sync('*.md', 'test/fixtures/**/*.md'); |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.ok(results.length, 'should return at least one element'); |
|
assert.equal(results.length, 1, 'actually, should return only one'); |
|
}); |
|
}); |
|
|
|
describe('Sync API - Given a *.md and **.js pattern, and two exclude', function() { |
|
it('returns the list of matching file in this repo', function() { |
|
var results = fileset.sync('*.md *.js', 'CHANGELOG.md test/fixtures/**/*.md test/fixtures/**/*.js'); |
|
|
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.ok(results.length, 'should return at least one element'); |
|
assert.equal(results.length, 3, 'actually, should return only 3'); |
|
}); |
|
}); |
|
|
|
// Given a **.md pattern |
|
describe('Given a **.md pattern', function() { |
|
it('returns the list of matching file in this repo', function(done) { |
|
fileset('*.js', function(err, results) { |
|
if(err) return done(err); |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.ok(results.length, 'should return at least one element'); |
|
assert.equal(results.length, 1, 'actually, should return only two'); |
|
done(); |
|
}); |
|
}); |
|
}); |
|
|
|
describe('Say we want the **.js files, but not those in node_modules', function() { |
|
it('recursively walks the dir and returns the matching list', function(done) { |
|
fileset('**/*.js', '', function(err, results) { |
|
if(err) return done(err); |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.equal(results.length, 2); |
|
done(); |
|
}); |
|
}); |
|
|
|
it('recursively walks the dir and returns the matching list', function(done) { |
|
fileset('**/*.js', function(err, results) { |
|
if(err) return done(err); |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.equal(results.length, 2); |
|
done(); |
|
}); |
|
}); |
|
|
|
it('supports multiple paths at once', function(done) { |
|
fileset('**/*.js *.md', 'node_modules/**', function(err, results) { |
|
if(err) return done(err); |
|
|
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.equal(results.length, 2); |
|
|
|
assert.deepEqual(results, [ |
|
'fixtures/an (odd) filename.js', |
|
'mocha.js' |
|
]); |
|
|
|
done(); |
|
}); |
|
}); |
|
|
|
it('Should support multiple paths for excludes as well', function(done) { |
|
fileset('**/*.js *.md', 'node_modules/** **.md tests/*.js', function(err, results) { |
|
if(err) return done(err); |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.equal(results.length, 2); |
|
|
|
assert.deepEqual(results, [ |
|
'fixtures/an (odd) filename.js', |
|
'mocha.js' |
|
]); |
|
|
|
done(); |
|
}); |
|
}); |
|
}); |
|
|
|
describe('Testing out emmited events', function() { |
|
it('recursively walk the dir and return the matching list', function(done) { |
|
fileset('**/*.js', 'node_modules/**') |
|
.on('error', done) |
|
.on('end', function(results) { |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.equal(results.length, 2); |
|
done(); |
|
}); |
|
}); |
|
|
|
it('support multiple paths at once', function(done) { |
|
fileset('**/*.js *.md', 'node_modules/**') |
|
.on('error', done) |
|
.on('end', function(results) { |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.equal(results.length, 2); |
|
|
|
assert.deepEqual(results, [ |
|
'fixtures/an (odd) filename.js', |
|
'mocha.js' |
|
]); |
|
|
|
done(); |
|
}); |
|
}); |
|
}); |
|
|
|
describe('Testing patterns passed as arrays', function() { |
|
it('match files passed as an array with odd filenames', function(done) { |
|
fileset(['fixtures/*.md', 'fixtures/an (odd) filename.js'], ['*.md']) |
|
.on('error', done) |
|
.on('end', function(results) { |
|
assert.ok(Array.isArray(results), 'should be an array'); |
|
assert.equal(results.length, 1); |
|
assert.deepEqual(results, [ |
|
'fixtures/an (odd) filename.js', |
|
]); |
|
|
|
done(); |
|
}); |
|
}); |
|
});
|
|
|