UNPKG

1.07 kBJavaScriptView Raw
1'use strict';
2
3var lib = require('../'),
4 fs = require('fs'),
5 assert = require('chai').assert;
6
7var testFunction = function(funcName, func) {
8 return function() {
9 var isFunctionExists = Object.keys(lib)
10 .some(function(key) {
11 return func === lib[key];
12 });
13 assert.ok(isFunctionExists, 'Function "'+funcName+'" is not included');
14 }
15};
16
17describe('Tests whether all functions are included', function() {
18 fs.readdirSync('./src')
19 .filter(function(file) {
20 var stat = fs.statSync('./src/'+file);
21 return stat.isFile() && file !== 'predicate.js';
22 })
23 .map(function(file) {
24 var functionName = file.replace(/\.js$/, '');
25 return {
26 name: functionName,
27 function: require('../src/'+functionName)
28 };
29 })
30 .forEach(function(functionDescriptor) {
31 it('- function '+functionDescriptor.name, testFunction(functionDescriptor.name, functionDescriptor.function))
32 });
33});