@bemedev/cli-test
Version:
A library for testing CLI libraries (INCEPTION !!)
71 lines (68 loc) • 2.09 kB
JavaScript
import { describe } from 'vitest';
import { buildFn } from './describe.utils.js';
// #region Simple Extensions
function describe_cli(...[invite, fn, options]) {
const _fn = buildFn(fn);
return describe(invite, _fn, options);
}
describe_cli.todo = ((invite, fn, options) => {
const _fn = buildFn(fn);
return describe.todo(invite, _fn, options);
});
describe_cli.skip = ((invite, fn, options) => {
const _fn = buildFn(fn);
return describe.skip(invite, _fn, options);
});
describe_cli.only = ((invite, fn, options) => {
const _fn = buildFn(fn);
return describe.only(invite, _fn, options);
});
describe_cli.sequential = ((invite, fn, options) => {
const _fn = buildFn(fn);
return describe.sequential(invite, _fn, options);
});
describe_cli.concurrent = ((invite, fn, options) => {
const _fn = buildFn(fn);
return describe.concurrent(invite, _fn, options);
});
describe_cli.shuffle = ((invite, fn, options) => {
const _fn = buildFn(fn);
return describe.shuffle(invite, _fn, options);
});
// #endregion
// #region Hooks
const useTrue = () => {
function _true(...[invite, fn, options]) {
return describe_cli(invite, fn, options);
}
_true.skip = describe_cli.skip;
_true.todo = describe_cli.todo;
_true.only = describe_cli.only;
_true.concurrent = describe_cli.concurrent;
_true.sequential = describe_cli.sequential;
_true.shuffle = describe_cli.shuffle;
return _true;
};
const useFalse = () => {
function _false(...[invite, fn, options]) {
return describe_cli.skip(invite, fn, options);
}
_false.skip = describe_cli.skip;
_false.todo = describe_cli.todo;
return _false;
};
// #endregion
// #region Conditionnal extensions
describe_cli.runIf = (cond) => {
const _true = useTrue();
const _false = useFalse();
return (cond ? _true : _false);
};
describe_cli.skipIf = (cond) => {
const _true = useTrue();
const _false = useFalse();
return (cond ? _true : _false);
};
// #endregion
export { describe_cli };
//# sourceMappingURL=describe.js.map