1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const lodash_1 = require("lodash");
|
4 | const FILTERING_OPTIONS = {
|
5 | testGrep: 'testGrep',
|
6 | fixtureGrep: 'fixtureGrep',
|
7 | testMeta: 'testMeta',
|
8 | fixtureMeta: 'fixtureMeta',
|
9 | test: 'test',
|
10 | fixture: 'fixture'
|
11 | };
|
12 | function isAllFilteringOptionsAreUndefined(opts) {
|
13 | return Object
|
14 | .keys(FILTERING_OPTIONS)
|
15 | .every(option => opts[option] === void 0);
|
16 | }
|
17 | function createFilterFn(opts) {
|
18 | return (testName, fixtureName, fixturePath, testMeta, fixtureMeta) => {
|
19 | if (opts.test && testName !== opts.test)
|
20 | return false;
|
21 | if (opts.testGrep && !opts.testGrep.test(testName))
|
22 | return false;
|
23 | if (opts.fixture && fixtureName !== opts.fixture)
|
24 | return false;
|
25 | if (opts.fixtureGrep && !opts.fixtureGrep.test(fixtureName))
|
26 | return false;
|
27 | if (opts.testMeta && !lodash_1.isMatch(testMeta, opts.testMeta))
|
28 | return false;
|
29 | if (opts.fixtureMeta && !lodash_1.isMatch(fixtureMeta, opts.fixtureMeta))
|
30 | return false;
|
31 | return true;
|
32 | };
|
33 | }
|
34 | function default_1(opts) {
|
35 | const filteringOpts = lodash_1.pick(opts, Object.keys(FILTERING_OPTIONS));
|
36 | if (isAllFilteringOptionsAreUndefined(filteringOpts))
|
37 | return void 0;
|
38 | return Object.assign(createFilterFn(filteringOpts), filteringOpts);
|
39 | }
|
40 | exports.default = default_1;
|
41 | module.exports = exports.default;
|
42 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpbHRlci1mbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9nZXQtZmlsdGVyLWZuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQXVDO0FBRXZDLE1BQU0saUJBQWlCLEdBQUc7SUFDdEIsUUFBUSxFQUFLLFVBQVU7SUFDdkIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsUUFBUSxFQUFLLFVBQVU7SUFDdkIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsSUFBSSxFQUFTLE1BQU07SUFDbkIsT0FBTyxFQUFNLFNBQVM7Q0FDekIsQ0FBQztBQUVGLFNBQVMsaUNBQWlDLENBQUUsSUFBSTtJQUM1QyxPQUFPLE1BQU07U0FDUixJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFFLElBQUk7SUFDekIsT0FBTyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRTtRQUNqRSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFJO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QyxPQUFPLEtBQUssQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxPQUFPO1lBQzVDLE9BQU8sS0FBSyxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN2RCxPQUFPLEtBQUssQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxnQkFBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2xELE9BQU8sS0FBSyxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLGdCQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUM7UUFFakIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELG1CQUF5QixJQUFJO0lBQ3pCLE1BQU0sYUFBYSxHQUFHLGFBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFFakUsSUFBSSxpQ0FBaUMsQ0FBQyxhQUFhLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUVsQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFQRCw0QkFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTWF0Y2gsIHBpY2sgfSBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCBGSUxURVJJTkdfT1BUSU9OUyA9IHtcbiAgICB0ZXN0R3JlcDogICAgJ3Rlc3RHcmVwJyxcbiAgICBmaXh0dXJlR3JlcDogJ2ZpeHR1cmVHcmVwJyxcbiAgICB0ZXN0TWV0YTogICAgJ3Rlc3RNZXRhJyxcbiAgICBmaXh0dXJlTWV0YTogJ2ZpeHR1cmVNZXRhJyxcbiAgICB0ZXN0OiAgICAgICAgJ3Rlc3QnLFxuICAgIGZpeHR1cmU6ICAgICAnZml4dHVyZSdcbn07XG5cbmZ1bmN0aW9uIGlzQWxsRmlsdGVyaW5nT3B0aW9uc0FyZVVuZGVmaW5lZCAob3B0cykge1xuICAgIHJldHVybiBPYmplY3RcbiAgICAgICAgLmtleXMoRklMVEVSSU5HX09QVElPTlMpXG4gICAgICAgIC5ldmVyeShvcHRpb24gPT4gb3B0c1tvcHRpb25dID09PSB2b2lkIDApO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGaWx0ZXJGbiAob3B0cykge1xuICAgIHJldHVybiAodGVzdE5hbWUsIGZpeHR1cmVOYW1lLCBmaXh0dXJlUGF0aCwgdGVzdE1ldGEsIGZpeHR1cmVNZXRhKSA9PiB7XG4gICAgICAgIGlmIChvcHRzLnRlc3QgJiYgdGVzdE5hbWUgIT09IG9wdHMudGVzdClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgICBpZiAob3B0cy50ZXN0R3JlcCAmJiAhb3B0cy50ZXN0R3JlcC50ZXN0KHRlc3ROYW1lKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgICBpZiAob3B0cy5maXh0dXJlICYmIGZpeHR1cmVOYW1lICE9PSBvcHRzLmZpeHR1cmUpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgaWYgKG9wdHMuZml4dHVyZUdyZXAgJiYgIW9wdHMuZml4dHVyZUdyZXAudGVzdChmaXh0dXJlTmFtZSkpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgaWYgKG9wdHMudGVzdE1ldGEgJiYgIWlzTWF0Y2godGVzdE1ldGEsIG9wdHMudGVzdE1ldGEpKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIGlmIChvcHRzLmZpeHR1cmVNZXRhICYmICFpc01hdGNoKGZpeHR1cmVNZXRhLCBvcHRzLmZpeHR1cmVNZXRhKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0cykge1xuICAgIGNvbnN0IGZpbHRlcmluZ09wdHMgPSBwaWNrKG9wdHMsIE9iamVjdC5rZXlzKEZJTFRFUklOR19PUFRJT05TKSk7XG5cbiAgICBpZiAoaXNBbGxGaWx0ZXJpbmdPcHRpb25zQXJlVW5kZWZpbmVkKGZpbHRlcmluZ09wdHMpKVxuICAgICAgICByZXR1cm4gdm9pZCAwO1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oY3JlYXRlRmlsdGVyRm4oZmlsdGVyaW5nT3B0cyksIGZpbHRlcmluZ09wdHMpO1xufVxuIl19 |
\ | No newline at end of file |