UNPKG

1.81 kBJavaScriptView Raw
1'use strict';
2
3var _path = require('path');
4
5var _path2 = _interopRequireDefault(_path);
6
7var _ava = require('ava');
8
9var _ava2 = _interopRequireDefault(_ava);
10
11var _globby = require('globby');
12
13var _globby2 = _interopRequireDefault(_globby);
14
15var _lodash = require('lodash.values');
16
17var _lodash2 = _interopRequireDefault(_lodash);
18
19var _ = require('.');
20
21var _2 = _interopRequireDefault(_);
22
23function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25(0, _ava2.default)('exports all rules', function (t) {
26 return new Promise(function ($return, $error) {
27 var expected, actual;
28 return Promise.resolve(glob('*.js')).then(function ($await_1) {
29 try {
30 expected = $await_1;
31 actual = Object.keys(_2.default);
32 t.deepEqual(actual, expected);
33 return $return();
34 } catch ($boundEx) {
35 return $error($boundEx);
36 }
37 }.bind(this), $error);
38 }.bind(this));
39});
40
41(0, _ava2.default)('rules export functions', function (t) {
42 var actual = (0, _lodash2.default)(_2.default);
43 t.true(actual.every(function (rule) {
44 return typeof rule === 'function';
45 }));
46});
47
48function glob(pattern) {
49 return new Promise(function ($return, $error) {
50 var files;
51 return Promise.resolve((0, _globby2.default)([_path2.default.join(__dirname, pattern)], {
52 ignore: ['**/index.js', '**/*.test.js'],
53 cwd: __dirname
54 })).then(function ($await_2) {
55 try {
56 files = $await_2;
57 return $return(files.map(relative).map(toExport));
58 } catch ($boundEx) {
59 return $error($boundEx);
60 }
61 }.bind(this), $error);
62 }.bind(this));
63}
64
65function relative(filePath) {
66 return _path2.default.relative(__dirname, filePath);
67}
68
69function toExport(fileName) {
70 return _path2.default.basename(fileName, _path2.default.extname(fileName));
71}
72//# sourceMappingURL=index.test.js.map
\No newline at end of file