ngx-testing-tools
Version:
Makes Angular testing easier
16 lines • 3.61 kB
JavaScript
import { postAsync } from '../utils/async.util';
import { buildJasmineDone } from './jasmine-done';
export function buildJasmineCallback(args) {
const { callback, deferredTools, preTest, postTest } = args;
const callbackWrapper = (done) => {
const tools = deferredTools();
preTest?.(tools);
return (done)
? callback(tools, buildJasmineDone(done, () => postTest?.(tools)))
: postAsync(callback(tools, null), () => postTest?.(tools));
};
return (callback.length > 1)
? (done) => callbackWrapper(done)
: () => callbackWrapper(null);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFzbWluZS1jYWxsYmFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZXN0aW5nLXRvb2xzL3NyYy9saWIvY29tbW9uL2phc21pbmUvamFzbWluZS1jYWxsYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbEQsTUFBTSxVQUFVLG9CQUFvQixDQUEwQixJQUFnQztJQUM1RixNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRTVELE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO1FBQ2pELE1BQU0sS0FBSyxHQUFVLGFBQWEsRUFBRSxDQUFDO1FBRXJDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpCLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDWCxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUM7SUFFRixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vc2hhcmVkLm1vZGVscyc7XG5pbXBvcnQgeyBCYXNlVG9vbHMgfSBmcm9tICcuLi90b29scy9iYXNlL21vZGVscy9iYXNlLXRvb2xzLm1vZGVsJztcbmltcG9ydCB7IERlZmVycmVkVG9vbHMgfSBmcm9tICcuLi90b29scy9tb2RlbHMvZGVmZXJyZWQtdG9vbHMubW9kZWwnO1xuaW1wb3J0IHsgcG9zdEFzeW5jIH0gZnJvbSAnLi4vdXRpbHMvYXN5bmMudXRpbCc7XG5pbXBvcnQgeyBidWlsZEphc21pbmVEb25lIH0gZnJvbSAnLi9qYXNtaW5lLWRvbmUnO1xuaW1wb3J0IHsgRW5oYW5jZWRKYXNtaW5lQ2FsbGJhY2sgfSBmcm9tICcuL21vZGVscy9lbmhhbmNlZC1qYXNtaW5lLWNhbGxiYWNrLm1vZGVsJztcbmltcG9ydCB7IEphc21pbmVDYWxsYmFjayB9IGZyb20gJy4vbW9kZWxzL2phc21pbmUtY2FsbGJhY2subW9kZWwnO1xuXG5pbnRlcmZhY2UgSmFzbWluZUNhbGxiYWNrQXJnczxUb29scyBleHRlbmRzIEJhc2VUb29scz4ge1xuICBjYWxsYmFjazogRW5oYW5jZWRKYXNtaW5lQ2FsbGJhY2s8VG9vbHM+O1xuICBkZWZlcnJlZFRvb2xzOiBEZWZlcnJlZFRvb2xzPFRvb2xzPixcbiAgcHJlVGVzdD86ICh0b29sczogVG9vbHMpID0+IHZvaWQ7XG4gIHBvc3RUZXN0PzogKHRvb2xzOiBUb29scykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkSmFzbWluZUNhbGxiYWNrPFRvb2xzIGV4dGVuZHMgQmFzZVRvb2xzPihhcmdzOiBKYXNtaW5lQ2FsbGJhY2tBcmdzPFRvb2xzPik6IEphc21pbmVDYWxsYmFjayB7XG4gIGNvbnN0IHsgY2FsbGJhY2ssIGRlZmVycmVkVG9vbHMsIHByZVRlc3QsIHBvc3RUZXN0IH0gPSBhcmdzO1xuXG4gIGNvbnN0IGNhbGxiYWNrV3JhcHBlciA9IChkb25lOiBOdWxsYWJsZTxEb25lRm4+KSA9PiB7XG4gICAgY29uc3QgdG9vbHM6IFRvb2xzID0gZGVmZXJyZWRUb29scygpO1xuXG4gICAgcHJlVGVzdD8uKHRvb2xzKTtcblxuICAgIHJldHVybiAoZG9uZSlcbiAgICAgID8gY2FsbGJhY2sodG9vbHMsIGJ1aWxkSmFzbWluZURvbmUoZG9uZSwgKCkgPT4gcG9zdFRlc3Q/Lih0b29scykpKVxuICAgICAgOiBwb3N0QXN5bmMoY2FsbGJhY2sodG9vbHMsIG51bGwhKSwgKCkgPT4gcG9zdFRlc3Q/Lih0b29scykpO1xuICB9O1xuXG4gIHJldHVybiAoY2FsbGJhY2subGVuZ3RoID4gMSlcbiAgICA/IChkb25lOiBEb25lRm4pID0+IGNhbGxiYWNrV3JhcHBlcihkb25lKVxuICAgIDogKCkgPT4gY2FsbGJhY2tXcmFwcGVyKG51bGwpO1xufVxuIl19