1 | 'use strict';
|
2 |
|
3 | var _path = require('path');
|
4 |
|
5 | var _path2 = _interopRequireDefault(_path);
|
6 |
|
7 | var _ava = require('ava');
|
8 |
|
9 | var _ava2 = _interopRequireDefault(_ava);
|
10 |
|
11 | var _globby = require('globby');
|
12 |
|
13 | var _globby2 = _interopRequireDefault(_globby);
|
14 |
|
15 | var _lodash = require('lodash.values');
|
16 |
|
17 | var _lodash2 = _interopRequireDefault(_lodash);
|
18 |
|
19 | var _ = require('.');
|
20 |
|
21 | var _2 = _interopRequireDefault(_);
|
22 |
|
23 | function _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 |
|
48 | function 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 |
|
65 | function relative(filePath) {
|
66 | return _path2.default.relative(__dirname, filePath);
|
67 | }
|
68 |
|
69 | function toExport(fileName) {
|
70 | return _path2.default.basename(fileName, _path2.default.extname(fileName));
|
71 | }
|
72 |
|
\ | No newline at end of file |